Changes of com.discord v926

This commit is contained in:
root 2019-07-26 04:05:13 +02:00
parent d38f6ce944
commit a09a0fd799
6808 changed files with 180083 additions and 109245 deletions

View file

@ -0,0 +1,949 @@
.class public Lcom/esotericsoftware/kryo/util/DefaultClassResolver;
.super Ljava/lang/Object;
.source "DefaultClassResolver.java"
# interfaces
.implements Lcom/esotericsoftware/kryo/ClassResolver;
# static fields
.field public static final NAME:B = -0x1t
# instance fields
.field protected classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap<",
"Ljava/lang/Class;",
">;"
}
.end annotation
.end field
.field protected final classToRegistration:Lcom/esotericsoftware/kryo/util/ObjectMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"Ljava/lang/Class;",
"Lcom/esotericsoftware/kryo/Registration;",
">;"
}
.end annotation
.end field
.field protected final idToRegistration:Lcom/esotericsoftware/kryo/util/IntMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IntMap<",
"Lcom/esotericsoftware/kryo/Registration;",
">;"
}
.end annotation
.end field
.field protected kryo:Lcom/esotericsoftware/kryo/Kryo;
.field private memoizedClass:Ljava/lang/Class;
.field private memoizedClassId:I
.field private memoizedClassIdValue:Lcom/esotericsoftware/kryo/Registration;
.field private memoizedClassValue:Lcom/esotericsoftware/kryo/Registration;
.field protected nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IntMap<",
"Ljava/lang/Class;",
">;"
}
.end annotation
.end field
.field protected nameToClass:Lcom/esotericsoftware/kryo/util/ObjectMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"Ljava/lang/String;",
"Ljava/lang/Class;",
">;"
}
.end annotation
.end field
.field protected nextNameId:I
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/esotericsoftware/kryo/util/IntMap;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/util/IntMap;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->idToRegistration:Lcom/esotericsoftware/kryo/util/IntMap;
new-instance v0, Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/util/ObjectMap;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToRegistration:Lcom/esotericsoftware/kryo/util/ObjectMap;
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassId:I
return-void
.end method
# virtual methods
.method public getRegistration(I)Lcom/esotericsoftware/kryo/Registration;
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->idToRegistration:Lcom/esotericsoftware/kryo/util/IntMap;
invoke-virtual {v0, p1}, Lcom/esotericsoftware/kryo/util/IntMap;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/esotericsoftware/kryo/Registration;
return-object p1
.end method
.method public getRegistration(Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Registration;
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClass:Ljava/lang/Class;
if-ne p1, v0, :cond_0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassValue:Lcom/esotericsoftware/kryo/Registration;
return-object p1
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToRegistration:Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-virtual {v0, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/esotericsoftware/kryo/Registration;
if-eqz v0, :cond_1
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClass:Ljava/lang/Class;
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassValue:Lcom/esotericsoftware/kryo/Registration;
:cond_1
return-object v0
.end method
.method protected getTypeByName(Ljava/lang/String;)Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameToClass:Lcom/esotericsoftware/kryo/util/ObjectMap;
if-eqz v0, :cond_0
invoke-virtual {v0, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Class;
return-object p1
:cond_0
const/4 p1, 0x0
return-object p1
.end method
.method public readClass(Lcom/esotericsoftware/kryo/io/Input;)Lcom/esotericsoftware/kryo/Registration;
.locals 4
const/4 v0, 0x1
invoke-virtual {p1, v0}, Lcom/esotericsoftware/kryo/io/Input;->readVarInt(Z)I
move-result v1
if-eqz v1, :cond_4
if-eq v1, v0, :cond_3
iget p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassId:I
if-ne v1, p1, :cond_0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassIdValue:Lcom/esotericsoftware/kryo/Registration;
return-object p1
:cond_0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->idToRegistration:Lcom/esotericsoftware/kryo/util/IntMap;
add-int/lit8 v0, v1, -0x2
invoke-virtual {p1, v0}, Lcom/esotericsoftware/kryo/util/IntMap;->get(I)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/esotericsoftware/kryo/Registration;
if-eqz p1, :cond_2
sget-boolean v2, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v2, :cond_1
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Read class "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ": "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object 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
const-string v2, "kryo"
invoke-static {v2, v0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_1
iput v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassId:I
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->memoizedClassIdValue:Lcom/esotericsoftware/kryo/Registration;
return-object p1
:cond_2
new-instance p1, Lcom/esotericsoftware/kryo/KryoException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Encountered unregistered class ID: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p1, v0}, Lcom/esotericsoftware/kryo/KryoException;-><init>(Ljava/lang/String;)V
throw p1
:cond_3
invoke-virtual {p0, p1}, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->readName(Lcom/esotericsoftware/kryo/io/Input;)Lcom/esotericsoftware/kryo/Registration;
move-result-object p1
return-object p1
:cond_4
sget-boolean p1, Lcom/esotericsoftware/a/a;->Em:Z
const/4 v1, 0x0
if-nez p1, :cond_5
sget-boolean p1, Lcom/esotericsoftware/a/a;->DEBUG:Z
if-eqz p1, :cond_6
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Kryo;->getDepth()I
move-result p1
if-ne p1, v0, :cond_6
:cond_5
const-string p1, "Read"
invoke-static {p1, v1}, Lcom/esotericsoftware/kryo/util/Util;->log(Ljava/lang/String;Ljava/lang/Object;)V
:cond_6
return-object v1
.end method
.method protected readName(Lcom/esotericsoftware/kryo/io/Input;)Lcom/esotericsoftware/kryo/Registration;
.locals 5
const/4 v0, 0x1
invoke-virtual {p1, v0}, Lcom/esotericsoftware/kryo/io/Input;->readVarInt(Z)I
move-result v0
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
if-nez v1, :cond_0
new-instance v1, Lcom/esotericsoftware/kryo/util/IntMap;
invoke-direct {v1}, Lcom/esotericsoftware/kryo/util/IntMap;-><init>()V
iput-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
:cond_0
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
invoke-virtual {v1, v0}, Lcom/esotericsoftware/kryo/util/IntMap;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Class;
const-string v2, "kryo"
if-nez v1, :cond_4
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/io/Input;->readString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->getTypeByName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
if-nez v1, :cond_3
const/4 v1, 0x0
:try_start_0
iget-object v3, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {v3}, Lcom/esotericsoftware/kryo/Kryo;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v3
invoke-static {p1, v1, v3}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
move-result-object v1
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v1
sget-boolean v3, Lcom/esotericsoftware/a/a;->Ek:Z
if-eqz v3, :cond_1
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Unable to load class "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, " with kryo\'s ClassLoader. Retrying with current.."
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/esotericsoftware/a/a;->q(Ljava/lang/String;Ljava/lang/String;)V
:cond_1
:try_start_1
invoke-static {p1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
:try_end_1
.catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_1
:goto_0
iget-object v3, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameToClass:Lcom/esotericsoftware/kryo/util/ObjectMap;
if-nez v3, :cond_2
new-instance v3, Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-direct {v3}, Lcom/esotericsoftware/kryo/util/ObjectMap;-><init>()V
iput-object v3, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameToClass:Lcom/esotericsoftware/kryo/util/ObjectMap;
:cond_2
iget-object v3, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameToClass:Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-virtual {v3, p1, v1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_1
:catch_1
new-instance v0, Lcom/esotericsoftware/kryo/KryoException;
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v2, "Unable to find class: "
invoke-virtual {v2, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1, v1}, Lcom/esotericsoftware/kryo/KryoException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_3
:goto_1
iget-object v3, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
invoke-virtual {v3, v0, v1}, Lcom/esotericsoftware/kryo/util/IntMap;->put(ILjava/lang/Object;)Ljava/lang/Object;
sget-boolean v0, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v0, :cond_5
invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string v0, "Read class name: "
invoke-virtual {v0, p1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_2
:cond_4
sget-boolean p1, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz p1, :cond_5
new-instance p1, Ljava/lang/StringBuilder;
const-string v3, "Read class name reference "
invoke-direct {p1, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v0, ": "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {v1}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_5
:goto_2
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {p1, v1}, Lcom/esotericsoftware/kryo/Kryo;->getRegistration(Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Registration;
move-result-object p1
return-object p1
.end method
.method public register(Lcom/esotericsoftware/kryo/Registration;)Lcom/esotericsoftware/kryo/Registration;
.locals 5
if-eqz p1, :cond_4
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result v0
const/4 v1, -0x1
const-string v2, ")"
const-string v3, " ("
const-string v4, "kryo"
if-eq v0, v1, :cond_1
sget-boolean v0, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v0, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Register class ID "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ": "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getSerializer()Lcom/esotericsoftware/kryo/Serializer;
move-result-object v1
invoke-virtual {v1}, 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-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->idToRegistration:Lcom/esotericsoftware/kryo/util/IntMap;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result v1
invoke-virtual {v0, v1, p1}, Lcom/esotericsoftware/kryo/util/IntMap;->put(ILjava/lang/Object;)Ljava/lang/Object;
goto :goto_0
:cond_1
sget-boolean v0, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v0, :cond_2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Register class name: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getSerializer()Lcom/esotericsoftware/kryo/Serializer;
move-result-object v1
invoke-virtual {v1}, 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-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v4, v0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_2
:goto_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToRegistration:Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-eqz v0, :cond_3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToRegistration:Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Registration;->getType()Ljava/lang/Class;
move-result-object v1
invoke-static {v1}, Lcom/esotericsoftware/kryo/util/Util;->getWrapperClass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v1
invoke-virtual {v0, v1, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_3
return-object p1
:cond_4
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "registration cannot be null."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public registerImplicit(Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Registration;
.locals 3
new-instance v0, Lcom/esotericsoftware/kryo/Registration;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {v1, p1}, Lcom/esotericsoftware/kryo/Kryo;->getDefaultSerializer(Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Serializer;
move-result-object v1
const/4 v2, -0x1
invoke-direct {v0, p1, v1, v2}, Lcom/esotericsoftware/kryo/Registration;-><init>(Ljava/lang/Class;Lcom/esotericsoftware/kryo/Serializer;I)V
invoke-virtual {p0, v0}, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->register(Lcom/esotericsoftware/kryo/Registration;)Lcom/esotericsoftware/kryo/Registration;
move-result-object p1
return-object p1
.end method
.method public reset()V
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {v0}, Lcom/esotericsoftware/kryo/Kryo;->isRegistrationRequired()Z
move-result v0
if-nez v0, :cond_2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
if-eqz v0, :cond_0
invoke-virtual {v0}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->clear()V
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nameIdToClass:Lcom/esotericsoftware/kryo/util/IntMap;
if-eqz v0, :cond_1
invoke-virtual {v0}, Lcom/esotericsoftware/kryo/util/IntMap;->clear()V
:cond_1
const/4 v0, 0x0
iput v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nextNameId:I
:cond_2
return-void
.end method
.method public setKryo(Lcom/esotericsoftware/kryo/Kryo;)V
.locals 0
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
return-void
.end method
.method public writeClass(Lcom/esotericsoftware/kryo/io/Output;Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Registration;
.locals 4
const/4 v0, 0x1
if-nez p2, :cond_2
sget-boolean p2, Lcom/esotericsoftware/a/a;->Em:Z
const/4 v1, 0x0
if-nez p2, :cond_0
sget-boolean p2, Lcom/esotericsoftware/a/a;->DEBUG:Z
if-eqz p2, :cond_1
iget-object p2, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {p2}, Lcom/esotericsoftware/kryo/Kryo;->getDepth()I
move-result p2
if-ne p2, v0, :cond_1
:cond_0
const-string p2, "Write"
invoke-static {p2, v1}, Lcom/esotericsoftware/kryo/util/Util;->log(Ljava/lang/String;Ljava/lang/Object;)V
:cond_1
const/4 p2, 0x0
invoke-virtual {p1, p2, v0}, Lcom/esotericsoftware/kryo/io/Output;->writeVarInt(IZ)I
return-object v1
:cond_2
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
invoke-virtual {v1, p2}, Lcom/esotericsoftware/kryo/Kryo;->getRegistration(Ljava/lang/Class;)Lcom/esotericsoftware/kryo/Registration;
move-result-object v1
invoke-virtual {v1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result v2
const/4 v3, -0x1
if-ne v2, v3, :cond_3
invoke-virtual {p0, p1, p2, v1}, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->writeName(Lcom/esotericsoftware/kryo/io/Output;Ljava/lang/Class;Lcom/esotericsoftware/kryo/Registration;)V
goto :goto_0
:cond_3
sget-boolean v2, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v2, :cond_4
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Write class "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ": "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p2}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object p2
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
const-string v2, "kryo"
invoke-static {v2, p2}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_4
invoke-virtual {v1}, Lcom/esotericsoftware/kryo/Registration;->getId()I
move-result p2
add-int/lit8 p2, p2, 0x2
invoke-virtual {p1, p2, v0}, Lcom/esotericsoftware/kryo/io/Output;->writeVarInt(IZ)I
:goto_0
return-object v1
.end method
.method protected writeName(Lcom/esotericsoftware/kryo/io/Output;Ljava/lang/Class;Lcom/esotericsoftware/kryo/Registration;)V
.locals 4
const/4 p3, 0x1
invoke-virtual {p1, p3, p3}, Lcom/esotericsoftware/kryo/io/Output;->writeVarInt(IZ)I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
const-string v1, "kryo"
if-eqz v0, :cond_1
const/4 v2, -0x1
invoke-virtual {v0, p2, v2}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->get(Ljava/lang/Object;I)I
move-result v0
if-eq v0, v2, :cond_1
sget-boolean v2, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v2, :cond_0
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Write class name reference "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, ": "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p2}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object p2
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {v1, p2}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
invoke-virtual {p1, v0, p3}, Lcom/esotericsoftware/kryo/io/Output;->writeVarInt(IZ)I
return-void
:cond_1
sget-boolean v0, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v0, :cond_2
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "Write class name: "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p2}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_2
iget v0, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nextNameId:I
add-int/lit8 v1, v0, 0x1
iput v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->nextNameId:I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
if-nez v1, :cond_3
new-instance v1, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
invoke-direct {v1}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;-><init>()V
iput-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
:cond_3
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/DefaultClassResolver;->classToNameId:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
invoke-virtual {v1, p2, v0}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->put(Ljava/lang/Object;I)V
invoke-virtual {p1, v0, p3}, Lcom/esotericsoftware/kryo/io/Output;->writeVarInt(IZ)I
invoke-virtual {p2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Lcom/esotericsoftware/kryo/io/Output;->writeString(Ljava/lang/String;)V
return-void
.end method

View file

@ -0,0 +1,154 @@
.class public Lcom/esotericsoftware/kryo/util/DefaultStreamFactory;
.super Ljava/lang/Object;
.source "DefaultStreamFactory.java"
# interfaces
.implements Lcom/esotericsoftware/kryo/StreamFactory;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getInput()Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/Input;-><init>()V
return-object v0
.end method
.method public getInput(I)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>(I)V
return-object v0
.end method
.method public getInput(Ljava/io/InputStream;)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>(Ljava/io/InputStream;)V
return-object v0
.end method
.method public getInput(Ljava/io/InputStream;I)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Input;-><init>(Ljava/io/InputStream;I)V
return-object v0
.end method
.method public getInput([B)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>([B)V
return-object v0
.end method
.method public getInput([BII)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1, p2, p3}, Lcom/esotericsoftware/kryo/io/Input;-><init>([BII)V
return-object v0
.end method
.method public getOutput()Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/Output;-><init>()V
return-object v0
.end method
.method public getOutput(I)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>(I)V
return-object v0
.end method
.method public getOutput(II)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>(II)V
return-object v0
.end method
.method public getOutput(Ljava/io/OutputStream;)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>(Ljava/io/OutputStream;)V
return-object v0
.end method
.method public getOutput(Ljava/io/OutputStream;I)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>(Ljava/io/OutputStream;I)V
return-object v0
.end method
.method public getOutput([B)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>([B)V
return-object v0
.end method
.method public getOutput([BI)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>([BI)V
return-object v0
.end method
.method public setKryo(Lcom/esotericsoftware/kryo/Kryo;)V
.locals 0
return-void
.end method

View file

@ -0,0 +1,323 @@
.class public Lcom/esotericsoftware/kryo/util/FastestStreamFactory;
.super Ljava/lang/Object;
.source "FastestStreamFactory.java"
# interfaces
.implements Lcom/esotericsoftware/kryo/StreamFactory;
# static fields
.field private static isUnsafe:Z
# direct methods
.method static constructor <clinit>()V
.locals 1
invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe;
move-result-object v0
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
sput-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public getInput()Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>()V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/Input;-><init>()V
return-object v0
.end method
.method public getInput(I)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>(I)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>(I)V
return-object v0
.end method
.method public getInput(Ljava/io/InputStream;)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>(Ljava/io/InputStream;)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>(Ljava/io/InputStream;)V
return-object v0
.end method
.method public getInput(Ljava/io/InputStream;I)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>(Ljava/io/InputStream;I)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Input;-><init>(Ljava/io/InputStream;I)V
return-object v0
.end method
.method public getInput([B)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>([B)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Input;-><init>([B)V
return-object v0
.end method
.method public getInput([BII)Lcom/esotericsoftware/kryo/io/Input;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeInput;
invoke-direct {v0, p1, p2, p3}, Lcom/esotericsoftware/kryo/io/UnsafeInput;-><init>([BII)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Input;
invoke-direct {v0, p1, p2, p3}, Lcom/esotericsoftware/kryo/io/Input;-><init>([BII)V
return-object v0
.end method
.method public getOutput()Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>()V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/io/Output;-><init>()V
return-object v0
.end method
.method public getOutput(I)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>(I)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>(I)V
return-object v0
.end method
.method public getOutput(II)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>(II)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>(II)V
return-object v0
.end method
.method public getOutput(Ljava/io/OutputStream;)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>(Ljava/io/OutputStream;)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>(Ljava/io/OutputStream;)V
return-object v0
.end method
.method public getOutput(Ljava/io/OutputStream;I)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>(Ljava/io/OutputStream;I)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>(Ljava/io/OutputStream;I)V
return-object v0
.end method
.method public getOutput([B)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>([B)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1}, Lcom/esotericsoftware/kryo/io/Output;-><init>([B)V
return-object v0
.end method
.method public getOutput([BI)Lcom/esotericsoftware/kryo/io/Output;
.locals 1
sget-boolean v0, Lcom/esotericsoftware/kryo/util/FastestStreamFactory;->isUnsafe:Z
if-eqz v0, :cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/UnsafeOutput;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/UnsafeOutput;-><init>([BI)V
return-object v0
:cond_0
new-instance v0, Lcom/esotericsoftware/kryo/io/Output;
invoke-direct {v0, p1, p2}, Lcom/esotericsoftware/kryo/io/Output;-><init>([BI)V
return-object v0
.end method
.method public setKryo(Lcom/esotericsoftware/kryo/Kryo;)V
.locals 0
return-void
.end method

View file

@ -0,0 +1,176 @@
.class public Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;
.super Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;
.source "IdentityMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IdentityMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entries"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator<",
"TK;TV;>;",
"Ljava/lang/Iterable<",
"Lcom/esotericsoftware/kryo/util/IdentityMap$Entry<",
"TK;TV;>;>;",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/IdentityMap$Entry<",
"TK;TV;>;>;"
}
.end annotation
# instance fields
.field private entry:Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IdentityMap$Entry<",
"TK;TV;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IdentityMap<",
"TK;TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
new-instance p1, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
invoke-direct {p1}, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/IdentityMap$Entry<",
"TK;TV;>;>;"
}
.end annotation
return-object p0
.end method
.method public next()Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/esotericsoftware/kryo/util/IdentityMap$Entry<",
"TK;TV;>;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->hasNext:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->keyTable:[Ljava/lang/Object;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
iget v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->nextIndex:I
aget-object v0, v0, v2
iput-object v0, v1, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;->key:Ljava/lang/Object;
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v1, v1, Lcom/esotericsoftware/kryo/util/IdentityMap;->valueTable:[Ljava/lang/Object;
iget v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->nextIndex:I
aget-object v1, v1, v2
iput-object v1, v0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;->value:Ljava/lang/Object;
iget v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->nextIndex:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->findNextIndex()V
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
return-object v0
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Entries;->next()Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->reset()V
return-void
.end method

View file

@ -0,0 +1,81 @@
.class public Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;
.super Ljava/lang/Object;
.source "IdentityMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IdentityMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field public key:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TK;"
}
.end annotation
.end field
.field public value:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TV;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;->key:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Entry;->value:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,150 @@
.class public Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;
.super Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;
.source "IdentityMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IdentityMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Keys"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator<",
"TK;",
"Ljava/lang/Object;",
">;",
"Ljava/lang/Iterable<",
"TK;>;",
"Ljava/util/Iterator<",
"TK;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IdentityMap<",
"TK;*>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TK;>;"
}
.end annotation
return-object p0
.end method
.method public next()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TK;"
}
.end annotation
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->keyTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->nextIndex:I
aget-object v0, v0, v1
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->findNextIndex()V
return-object v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"TK;>;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IdentityMap;->size:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Keys;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method

View file

@ -0,0 +1,196 @@
.class Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;
.super Ljava/lang/Object;
.source "IdentityMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IdentityMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "MapIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field currentIndex:I
.field public hasNext:Z
.field final map:Lcom/esotericsoftware/kryo/util/IdentityMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IdentityMap<",
"TK;TV;>;"
}
.end annotation
.end field
.field nextIndex:I
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IdentityMap<",
"TK;TV;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->reset()V
return-void
.end method
# virtual methods
.method findNextIndex()V
.locals 4
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->hasNext:Z
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->keyTable:[Ljava/lang/Object;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IdentityMap;->capacity:I
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v2, v2, Lcom/esotericsoftware/kryo/util/IdentityMap;->stashSize:I
add-int/2addr v1, v2
:cond_0
iget v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->nextIndex:I
const/4 v3, 0x1
add-int/2addr v2, v3
iput v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->nextIndex:I
if-ge v2, v1, :cond_1
iget v2, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->nextIndex:I
aget-object v2, v0, v2
if-eqz v2, :cond_0
iput-boolean v3, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->hasNext:Z
:cond_1
return-void
.end method
.method public remove()V
.locals 3
iget v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
if-ltz v0, :cond_1
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IdentityMap;->capacity:I
if-lt v0, v1, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
invoke-virtual {v0, v1}, Lcom/esotericsoftware/kryo/util/IdentityMap;->removeStashIndex(I)V
iget v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->nextIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->findNextIndex()V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->keyTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
const/4 v2, 0x0
aput-object v2, v0, v1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
aput-object v2, v0, v1
:goto_0
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->size:I
add-int/lit8 v1, v1, -0x1
iput v1, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->size:I
return-void
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "next must be called before remove."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public reset()V
.locals 1
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->currentIndex:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->nextIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->findNextIndex()V
return-void
.end method

View file

@ -0,0 +1,176 @@
.class public Lcom/esotericsoftware/kryo/util/IdentityMap$Values;
.super Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;
.source "IdentityMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IdentityMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Values"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator<",
"Ljava/lang/Object;",
"TV;>;",
"Ljava/lang/Iterable<",
"TV;>;",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IdentityMap<",
"*TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IdentityMap;)V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
return-object p0
.end method
.method public next()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IdentityMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->nextIndex:I
aget-object v0, v0, v1
iget v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->findNextIndex()V
return-object v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"TV;>;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->map:Lcom/esotericsoftware/kryo/util/IdentityMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IdentityMap;->size:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method
.method public toArray(Ljava/util/ArrayList;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"TV;>;)V"
}
.end annotation
:goto_0
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->hasNext:Z
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IdentityMap$Values;->next()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,865 @@
.class public Lcom/esotericsoftware/kryo/util/IntArray;
.super Ljava/lang/Object;
.source "IntArray.java"
# instance fields
.field public items:[I
.field public ordered:Z
.field public size:I
# direct methods
.method public constructor <init>()V
.locals 2
const/4 v0, 0x1
const/16 v1, 0x10
invoke-direct {p0, v0, v1}, Lcom/esotericsoftware/kryo/util/IntArray;-><init>(ZI)V
return-void
.end method
.method public constructor <init>(I)V
.locals 1
const/4 v0, 0x1
invoke-direct {p0, v0, p1}, Lcom/esotericsoftware/kryo/util/IntArray;-><init>(ZI)V
return-void
.end method
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IntArray;)V
.locals 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iget-boolean v0, p1, Lcom/esotericsoftware/kryo/util/IntArray;->ordered:Z
iput-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->ordered:Z
iget v0, p1, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
new-array v1, v0, [I
iput-object v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget-object p1, p1, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
const/4 v2, 0x0
invoke-static {p1, v2, v1, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-void
.end method
.method public constructor <init>(ZI)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-boolean p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->ordered:Z
new-array p1, p2, [I
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
return-void
.end method
.method public constructor <init>(Z[I)V
.locals 2
array-length v0, p2
invoke-direct {p0, p1, v0}, Lcom/esotericsoftware/kryo/util/IntArray;-><init>(ZI)V
array-length p1, p2
iput p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v1, 0x0
invoke-static {p2, v1, p1, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-void
.end method
.method public constructor <init>([I)V
.locals 1
const/4 v0, 0x1
invoke-direct {p0, v0, p1}, Lcom/esotericsoftware/kryo/util/IntArray;-><init>(Z[I)V
return-void
.end method
# virtual methods
.method public add(I)V
.locals 3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
array-length v2, v0
if-ne v1, v2, :cond_0
const/16 v0, 0x8
int-to-float v1, v1
const/high16 v2, 0x3fe00000 # 1.75f
mul-float v1, v1, v2
float-to-int v1, v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
invoke-virtual {p0, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->resize(I)[I
move-result-object v0
:cond_0
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
aput p1, v0, v1
return-void
.end method
.method public addAll(Lcom/esotericsoftware/kryo/util/IntArray;)V
.locals 2
iget v0, p1, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v1, 0x0
invoke-virtual {p0, p1, v1, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->addAll(Lcom/esotericsoftware/kryo/util/IntArray;II)V
return-void
.end method
.method public addAll(Lcom/esotericsoftware/kryo/util/IntArray;II)V
.locals 3
add-int v0, p2, p3
iget v1, p1, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-gt v0, v1, :cond_0
iget-object p1, p1, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
invoke-virtual {p0, p1, p2, p3}, Lcom/esotericsoftware/kryo/util/IntArray;->addAll([III)V
return-void
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "offset + length must be <= size: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " + "
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " <= "
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget p1, p1, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public addAll([I)V
.locals 2
array-length v0, p1
const/4 v1, 0x0
invoke-virtual {p0, p1, v1, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->addAll([III)V
return-void
.end method
.method public addAll([III)V
.locals 3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/2addr v1, p3
sub-int/2addr v1, p2
array-length v2, v0
if-lt v1, v2, :cond_0
const/16 v0, 0x8
int-to-float v1, v1
const/high16 v2, 0x3fe00000 # 1.75f
mul-float v1, v1, v2
float-to-int v1, v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
invoke-virtual {p0, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->resize(I)[I
move-result-object v0
:cond_0
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
invoke-static {p1, p2, v0, v1, p3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iget p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/2addr p1, p3
iput p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
return-void
.end method
.method public clear()V
.locals 1
const/4 v0, 0x0
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
return-void
.end method
.method public contains(I)Z
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
:goto_0
if-ltz v0, :cond_1
add-int/lit8 v3, v0, -0x1
aget v0, v2, v0
if-ne v0, p1, :cond_0
return v1
:cond_0
move v0, v3
goto :goto_0
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public ensureCapacity(I)[I
.locals 1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/2addr v0, p1
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
array-length p1, p1
if-lt v0, p1, :cond_0
const/16 p1, 0x8
invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I
move-result p1
invoke-virtual {p0, p1}, Lcom/esotericsoftware/kryo/util/IntArray;->resize(I)[I
:cond_0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
return-object p1
.end method
.method public get(I)I
.locals 1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge p1, v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
aget p1, v0, p1
return p1
:cond_0
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public indexOf(I)I
.locals 4
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
aget v3, v0, v2
if-ne v3, p1, :cond_0
return v2
:cond_0
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
const/4 p1, -0x1
return p1
.end method
.method public insert(II)V
.locals 3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
array-length v2, v0
if-ne v1, v2, :cond_0
const/16 v0, 0x8
int-to-float v1, v1
const/high16 v2, 0x3fe00000 # 1.75f
mul-float v1, v1, v2
float-to-int v1, v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
invoke-virtual {p0, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->resize(I)[I
move-result-object v0
:cond_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->ordered:Z
if-eqz v1, :cond_1
add-int/lit8 v1, p1, 0x1
iget v2, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
sub-int/2addr v2, p1
invoke-static {v0, p1, v0, v1, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_0
:cond_1
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
aget v2, v0, p1
aput v2, v0, v1
:goto_0
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/lit8 v1, v1, 0x1
iput v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
aput p2, v0, p1
return-void
.end method
.method public peek()I
.locals 2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/lit8 v1, v1, -0x1
aget v0, v0, v1
return v0
.end method
.method public pop()I
.locals 2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/lit8 v1, v1, -0x1
iput v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
aget v0, v0, v1
return v0
.end method
.method public removeIndex(I)I
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge p1, v0, :cond_1
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
aget v2, v1, p1
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->ordered:Z
if-eqz v0, :cond_0
add-int/lit8 v0, p1, 0x1
iget v3, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
sub-int/2addr v3, p1
invoke-static {v1, v0, v1, p1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_0
:cond_0
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
aget v0, v1, v0
aput v0, v1, p1
:goto_0
return v2
:cond_1
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public removeValue(I)Z
.locals 5
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v2, 0x0
const/4 v3, 0x0
:goto_0
if-ge v3, v1, :cond_1
aget v4, v0, v3
if-ne v4, p1, :cond_0
invoke-virtual {p0, v3}, Lcom/esotericsoftware/kryo/util/IntArray;->removeIndex(I)I
const/4 p1, 0x1
return p1
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_1
return v2
.end method
.method protected resize(I)[I
.locals 3
new-array v0, p1, [I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
array-length v2, v1
invoke-static {v2, p1}, Ljava/lang/Math;->min(II)I
move-result p1
const/4 v2, 0x0
invoke-static {v1, v2, v0, v2, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
return-object v0
.end method
.method public reverse()V
.locals 7
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
add-int/lit8 v1, v0, -0x1
div-int/lit8 v0, v0, 0x2
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
sub-int v3, v1, v2
iget-object v4, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
aget v5, v4, v2
aget v6, v4, v3
aput v6, v4, v2
aput v5, v4, v3
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public set(II)V
.locals 1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge p1, v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
aput p2, v0, p1
return-void
:cond_0
new-instance p2, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public shrink()V
.locals 1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
invoke-virtual {p0, v0}, Lcom/esotericsoftware/kryo/util/IntArray;->resize(I)[I
return-void
.end method
.method public sort()V
.locals 3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
const/4 v2, 0x0
invoke-static {v0, v2, v1}, Ljava/util/Arrays;->sort([III)V
return-void
.end method
.method public swap(II)V
.locals 3
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge p1, v0, :cond_1
if-ge p2, v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
aget v1, v0, p1
aget v2, v0, p2
aput v2, v0, p1
aput v1, v0, p2
return-void
:cond_0
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
new-instance p2, Ljava/lang/IndexOutOfBoundsException;
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p2
.end method
.method public toArray()[I
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
new-array v1, v0, [I
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
const/4 v3, 0x0
invoke-static {v2, v3, v1, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-object v1
.end method
.method public toString()Ljava/lang/String;
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-nez v0, :cond_0
const-string v0, "[]"
return-object v0
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x20
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v2, 0x5b
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x0
aget v2, v0, v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/4 v2, 0x1
:goto_0
iget v3, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge v2, v3, :cond_1
const-string v3, ", "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget v3, v0, v2
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
const/16 v0, 0x5d
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toString(Ljava/lang/String;)Ljava/lang/String;
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-nez v0, :cond_0
const-string p1, ""
return-object p1
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->items:[I
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x20
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v2, 0x0
aget v2, v0, v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/4 v2, 0x1
:goto_0
iget v3, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-ge v2, v3, :cond_1
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget v3, v0, v2
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public truncate(I)V
.locals 1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
if-le v0, p1, :cond_0
iput p1, p0, Lcom/esotericsoftware/kryo/util/IntArray;->size:I
:cond_0
return-void
.end method

View file

@ -0,0 +1,189 @@
.class public Lcom/esotericsoftware/kryo/util/IntMap$Entries;
.super Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;
.source "IntMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IntMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entries"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/IntMap$MapIterator<",
"TV;>;",
"Ljava/lang/Iterable<",
"Lcom/esotericsoftware/kryo/util/IntMap$Entry<",
"TV;>;>;",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/IntMap$Entry<",
"TV;>;>;"
}
.end annotation
# instance fields
.field private entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IntMap$Entry<",
"TV;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
.locals 0
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
new-instance p1, Lcom/esotericsoftware/kryo/util/IntMap$Entry;
invoke-direct {p1}, Lcom/esotericsoftware/kryo/util/IntMap$Entry;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/IntMap$Entry<",
"TV;>;>;"
}
.end annotation
return-object p0
.end method
.method public next()Lcom/esotericsoftware/kryo/util/IntMap$Entry;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/esotericsoftware/kryo/util/IntMap$Entry<",
"TV;>;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->hasNext:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->keyTable:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->nextIndex:I
const/4 v2, -0x1
if-ne v1, v2, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
const/4 v1, 0x0
iput v1, v0, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->key:I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v1, v1, Lcom/esotericsoftware/kryo/util/IntMap;->zeroValue:Ljava/lang/Object;
iput-object v1, v0, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->value:Ljava/lang/Object;
goto :goto_0
:cond_0
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
iget v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->nextIndex:I
aget v0, v0, v2
iput v0, v1, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->key:I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v1, v1, Lcom/esotericsoftware/kryo/util/IntMap;->valueTable:[Ljava/lang/Object;
iget v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->nextIndex:I
aget-object v1, v1, v2
iput-object v1, v0, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->value:Ljava/lang/Object;
:goto_0
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->nextIndex:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->findNextIndex()V
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/IntMap$Entry;
return-object v0
:cond_1
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Entries;->next()Lcom/esotericsoftware/kryo/util/IntMap$Entry;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->reset()V
return-void
.end method

View file

@ -0,0 +1,73 @@
.class public Lcom/esotericsoftware/kryo/util/IntMap$Entry;
.super Ljava/lang/Object;
.source "IntMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IntMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field public key:I
.field public value:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TV;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->key:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Entry;->value:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,115 @@
.class public Lcom/esotericsoftware/kryo/util/IntMap$Keys;
.super Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;
.source "IntMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IntMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Keys"
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
.locals 0
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
return-void
.end method
# virtual methods
.method public next()I
.locals 2
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->hasNext:Z
if-eqz v0, :cond_1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->nextIndex:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->keyTable:[I
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->nextIndex:I
aget v0, v0, v1
:goto_0
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->findNextIndex()V
return v0
:cond_1
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Lcom/esotericsoftware/kryo/util/IntArray;
.locals 3
new-instance v0, Lcom/esotericsoftware/kryo/util/IntArray;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IntMap;->size:I
const/4 v2, 0x1
invoke-direct {v0, v2, v1}, Lcom/esotericsoftware/kryo/util/IntArray;-><init>(ZI)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Keys;->next()I
move-result v1
invoke-virtual {v0, v1}, Lcom/esotericsoftware/kryo/util/IntArray;->add(I)V
goto :goto_0
:cond_0
return-object v0
.end method

View file

@ -0,0 +1,238 @@
.class Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;
.super Ljava/lang/Object;
.source "IntMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IntMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "MapIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# static fields
.field static final INDEX_ILLEGAL:I = -0x2
.field static final INDEX_ZERO:I = -0x1
# instance fields
.field currentIndex:I
.field public hasNext:Z
.field final map:Lcom/esotericsoftware/kryo/util/IntMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/IntMap<",
"TV;>;"
}
.end annotation
.end field
.field nextIndex:I
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IntMap<",
"TV;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->reset()V
return-void
.end method
# virtual methods
.method findNextIndex()V
.locals 4
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->hasNext:Z
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->keyTable:[I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IntMap;->capacity:I
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v2, v2, Lcom/esotericsoftware/kryo/util/IntMap;->stashSize:I
add-int/2addr v1, v2
:cond_0
iget v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->nextIndex:I
const/4 v3, 0x1
add-int/2addr v2, v3
iput v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->nextIndex:I
if-ge v2, v1, :cond_1
iget v2, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->nextIndex:I
aget v2, v0, v2
if-eqz v2, :cond_0
iput-boolean v3, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->hasNext:Z
:cond_1
return-void
.end method
.method public remove()V
.locals 4
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v0, v3, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-boolean v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->hasZeroValue:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iput-object v2, v0, Lcom/esotericsoftware/kryo/util/IntMap;->zeroValue:Ljava/lang/Object;
iput-boolean v1, v0, Lcom/esotericsoftware/kryo/util/IntMap;->hasZeroValue:Z
goto :goto_0
:cond_0
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
if-ltz v0, :cond_2
iget-object v3, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v3, v3, Lcom/esotericsoftware/kryo/util/IntMap;->capacity:I
if-lt v0, v3, :cond_1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
invoke-virtual {v0, v1}, Lcom/esotericsoftware/kryo/util/IntMap;->removeStashIndex(I)V
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->nextIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->findNextIndex()V
goto :goto_0
:cond_1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->keyTable:[I
iget v3, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
aput v1, v0, v3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
aput-object v2, v0, v1
:goto_0
const/4 v0, -0x2
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v1, v0, Lcom/esotericsoftware/kryo/util/IntMap;->size:I
add-int/lit8 v1, v1, -0x1
iput v1, v0, Lcom/esotericsoftware/kryo/util/IntMap;->size:I
return-void
:cond_2
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "next must be called before remove."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public reset()V
.locals 1
const/4 v0, -0x2
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->currentIndex:I
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->nextIndex:I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-boolean v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->hasZeroValue:Z
if-eqz v0, :cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->hasNext:Z
return-void
:cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->findNextIndex()V
return-void
.end method

View file

@ -0,0 +1,173 @@
.class public Lcom/esotericsoftware/kryo/util/IntMap$Values;
.super Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;
.source "IntMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/IntMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Values"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/IntMap$MapIterator<",
"TV;>;",
"Ljava/lang/Iterable<",
"TV;>;",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/IntMap<",
"TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/IntMap;)V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
return-object p0
.end method
.method public next()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->hasNext:Z
if-eqz v0, :cond_1
iget v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->nextIndex:I
const/4 v1, -0x1
if-ne v0, v1, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->zeroValue:Ljava/lang/Object;
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/IntMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->nextIndex:I
aget-object v0, v0, v1
:goto_0
iget v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Values;->findNextIndex()V
return-object v0
:cond_1
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/IntMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"TV;>;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->map:Lcom/esotericsoftware/kryo/util/IntMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/IntMap;->size:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/IntMap$Values;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/IntMap$Values;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,158 @@
.class public Lcom/esotericsoftware/kryo/util/ListReferenceResolver;
.super Ljava/lang/Object;
.source "ListReferenceResolver.java"
# interfaces
.implements Lcom/esotericsoftware/kryo/ReferenceResolver;
# instance fields
.field protected kryo:Lcom/esotericsoftware/kryo/Kryo;
.field protected final seenObjects:Ljava/util/ArrayList;
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public addWrittenObject(Ljava/lang/Object;)I
.locals 2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v1, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return v0
.end method
.method public getReadObject(Ljava/lang/Class;I)Ljava/lang/Object;
.locals 0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getWrittenId(Ljava/lang/Object;)I
.locals 3
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
if-ne v2, p1, :cond_0
return v1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
const/4 p1, -0x1
return p1
.end method
.method public nextReadId(Ljava/lang/Class;)I
.locals 2
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return p1
.end method
.method public reset()V
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
return-void
.end method
.method public setKryo(Lcom/esotericsoftware/kryo/Kryo;)V
.locals 0
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
return-void
.end method
.method public setReadObject(ILjava/lang/Object;)V
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ListReferenceResolver;->seenObjects:Ljava/util/ArrayList;
invoke-virtual {v0, p1, p2}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public useReferences(Ljava/lang/Class;)Z
.locals 0
invoke-static {p1}, Lcom/esotericsoftware/kryo/util/Util;->isWrapperClass(Ljava/lang/Class;)Z
move-result p1
if-nez p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method

View file

@ -0,0 +1,147 @@
.class public Lcom/esotericsoftware/kryo/util/MapReferenceResolver;
.super Ljava/lang/Object;
.source "MapReferenceResolver.java"
# interfaces
.implements Lcom/esotericsoftware/kryo/ReferenceResolver;
# instance fields
.field protected kryo:Lcom/esotericsoftware/kryo/Kryo;
.field protected final readObjects:Ljava/util/ArrayList;
.field protected final writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
invoke-direct {v0}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
return-void
.end method
# virtual methods
.method public addWrittenObject(Ljava/lang/Object;)I
.locals 2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
iget v0, v0, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->size:I
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
invoke-virtual {v1, p1, v0}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->put(Ljava/lang/Object;I)V
return v0
.end method
.method public getReadObject(Ljava/lang/Class;I)Ljava/lang/Object;
.locals 0
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public getWrittenId(Ljava/lang/Object;)I
.locals 2
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
const/4 v1, -0x1
invoke-virtual {v0, p1, v1}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->get(Ljava/lang/Object;I)I
move-result p1
return p1
.end method
.method public nextReadId(Ljava/lang/Class;)I
.locals 2
iget-object p1, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
invoke-virtual {p1}, Ljava/util/ArrayList;->size()I
move-result p1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return p1
.end method
.method public reset()V
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->writtenObjects:Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;
invoke-virtual {v0}, Lcom/esotericsoftware/kryo/util/IdentityObjectIntMap;->clear()V
return-void
.end method
.method public setKryo(Lcom/esotericsoftware/kryo/Kryo;)V
.locals 0
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->kryo:Lcom/esotericsoftware/kryo/Kryo;
return-void
.end method
.method public setReadObject(ILjava/lang/Object;)V
.locals 1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/MapReferenceResolver;->readObjects:Ljava/util/ArrayList;
invoke-virtual {v0, p1, p2}, Ljava/util/ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public useReferences(Ljava/lang/Class;)Z
.locals 0
invoke-static {p1}, Lcom/esotericsoftware/kryo/util/Util;->isWrapperClass(Ljava/lang/Class;)Z
move-result p1
if-nez p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method

View file

@ -0,0 +1,176 @@
.class public Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;
.super Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;
.source "ObjectMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/ObjectMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entries"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator<",
"TK;TV;>;",
"Ljava/lang/Iterable<",
"Lcom/esotericsoftware/kryo/util/ObjectMap$Entry<",
"TK;TV;>;>;",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/ObjectMap$Entry<",
"TK;TV;>;>;"
}
.end annotation
# instance fields
.field entry:Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/ObjectMap$Entry<",
"TK;TV;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"TK;TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
new-instance p1, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
invoke-direct {p1}, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Lcom/esotericsoftware/kryo/util/ObjectMap$Entry<",
"TK;TV;>;>;"
}
.end annotation
return-object p0
.end method
.method public next()Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/esotericsoftware/kryo/util/ObjectMap$Entry<",
"TK;TV;>;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->hasNext:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->keyTable:[Ljava/lang/Object;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
iget v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->nextIndex:I
aget-object v0, v0, v2
iput-object v0, v1, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;->key:Ljava/lang/Object;
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v1, v1, Lcom/esotericsoftware/kryo/util/ObjectMap;->valueTable:[Ljava/lang/Object;
iget v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->nextIndex:I
aget-object v1, v1, v2
iput-object v1, v0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;->value:Ljava/lang/Object;
iget v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->nextIndex:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->advance()V
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->entry:Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
return-object v0
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Entries;->next()Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->reset()V
return-void
.end method

View file

@ -0,0 +1,81 @@
.class public Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;
.super Ljava/lang/Object;
.source "ObjectMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/ObjectMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field public key:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TK;"
}
.end annotation
.end field
.field public value:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TV;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;->key:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Entry;->value:Ljava/lang/Object;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,161 @@
.class public Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;
.super Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;
.source "ObjectMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/ObjectMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Keys"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator<",
"TK;",
"Ljava/lang/Object;",
">;",
"Ljava/lang/Iterable<",
"TK;>;",
"Ljava/util/Iterator<",
"TK;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"TK;*>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TK;>;"
}
.end annotation
return-object p0
.end method
.method public next()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TK;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->hasNext:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->keyTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->nextIndex:I
aget-object v0, v0, v1
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->advance()V
return-object v0
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"TK;>;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/ObjectMap;->size:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Keys;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method

View file

@ -0,0 +1,196 @@
.class Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;
.super Ljava/lang/Object;
.source "ObjectMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/ObjectMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "MapIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field currentIndex:I
.field public hasNext:Z
.field final map:Lcom/esotericsoftware/kryo/util/ObjectMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"TK;TV;>;"
}
.end annotation
.end field
.field nextIndex:I
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"TK;TV;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->reset()V
return-void
.end method
# virtual methods
.method advance()V
.locals 4
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->hasNext:Z
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->keyTable:[Ljava/lang/Object;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/ObjectMap;->capacity:I
iget-object v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v2, v2, Lcom/esotericsoftware/kryo/util/ObjectMap;->stashSize:I
add-int/2addr v1, v2
:cond_0
iget v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->nextIndex:I
const/4 v3, 0x1
add-int/2addr v2, v3
iput v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->nextIndex:I
if-ge v2, v1, :cond_1
iget v2, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->nextIndex:I
aget-object v2, v0, v2
if-eqz v2, :cond_0
iput-boolean v3, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->hasNext:Z
:cond_1
return-void
.end method
.method public remove()V
.locals 3
iget v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
if-ltz v0, :cond_1
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/ObjectMap;->capacity:I
if-lt v0, v1, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
invoke-virtual {v0, v1}, Lcom/esotericsoftware/kryo/util/ObjectMap;->removeStashIndex(I)V
iget v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->nextIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->advance()V
goto :goto_0
:cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->keyTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
const/4 v2, 0x0
aput-object v2, v0, v1
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
aput-object v2, v0, v1
:goto_0
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->size:I
add-int/lit8 v1, v1, -0x1
iput v1, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->size:I
return-void
:cond_1
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "next must be called before remove."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public reset()V
.locals 1
const/4 v0, -0x1
iput v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->currentIndex:I
iput v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->nextIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->advance()V
return-void
.end method

View file

@ -0,0 +1,187 @@
.class public Lcom/esotericsoftware/kryo/util/ObjectMap$Values;
.super Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;
.source "ObjectMap.java"
# interfaces
.implements Ljava/lang/Iterable;
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/esotericsoftware/kryo/util/ObjectMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Values"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator<",
"Ljava/lang/Object;",
"TV;>;",
"Ljava/lang/Iterable<",
"TV;>;",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/esotericsoftware/kryo/util/ObjectMap<",
"*TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;-><init>(Lcom/esotericsoftware/kryo/util/ObjectMap;)V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->hasNext:Z
return v0
.end method
.method public iterator()Ljava/util/Iterator;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TV;>;"
}
.end annotation
return-object p0
.end method
.method public next()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->hasNext:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget-object v0, v0, Lcom/esotericsoftware/kryo/util/ObjectMap;->valueTable:[Ljava/lang/Object;
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->nextIndex:I
aget-object v0, v0, v1
iget v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->nextIndex:I
iput v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->currentIndex:I
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->advance()V
return-object v0
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public bridge synthetic remove()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->remove()V
return-void
.end method
.method public bridge synthetic reset()V
.locals 0
invoke-super {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$MapIterator;->reset()V
return-void
.end method
.method public toArray()Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"TV;>;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
iget-object v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->map:Lcom/esotericsoftware/kryo/util/ObjectMap;
iget v1, v1, Lcom/esotericsoftware/kryo/util/ObjectMap;->size:I
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
:goto_0
iget-boolean v1, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->hasNext:Z
if-eqz v1, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method
.method public toArray(Ljava/util/ArrayList;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"TV;>;)V"
}
.end annotation
:goto_0
iget-boolean v0, p0, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->hasNext:Z
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/esotericsoftware/kryo/util/ObjectMap$Values;->next()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-void
.end method

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,94 @@
.class final Lcom/esotericsoftware/kryo/util/UnsafeUtil$1;
.super Ljava/lang/Object;
.source "UnsafeUtil.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/esotericsoftware/kryo/util/UnsafeUtil;->sortFieldsByOffset(Ljava/util/List;)[Ljava/lang/reflect/Field;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Ljava/lang/reflect/Field;",
">;"
}
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
check-cast p1, Ljava/lang/reflect/Field;
check-cast p2, Ljava/lang/reflect/Field;
invoke-virtual {p0, p1, p2}, Lcom/esotericsoftware/kryo/util/UnsafeUtil$1;->compare(Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;)I
move-result p1
return p1
.end method
.method public final compare(Ljava/lang/reflect/Field;Ljava/lang/reflect/Field;)I
.locals 3
invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe;
move-result-object v0
invoke-virtual {v0, p1}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v0
invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe;
move-result-object p1
invoke-virtual {p1, p2}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide p1
cmp-long v2, v0, p1
if-gez v2, :cond_0
const/4 p1, -0x1
return p1
:cond_0
cmp-long v2, v0, p1
if-nez v2, :cond_1
const/4 p1, 0x0
return p1
:cond_1
const/4 p1, 0x1
return p1
.end method

View file

@ -0,0 +1,541 @@
.class public Lcom/esotericsoftware/kryo/util/UnsafeUtil;
.super Ljava/lang/Object;
.source "UnsafeUtil.java"
# static fields
.field private static final _unsafe:Lsun/misc/Unsafe;
.field public static final byteArrayBaseOffset:J
.field public static final charArrayBaseOffset:J
.field static directByteBufferConstr:Ljava/lang/reflect/Constructor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/reflect/Constructor<",
"+",
"Ljava/nio/ByteBuffer;",
">;"
}
.end annotation
.end field
.field public static final doubleArrayBaseOffset:J
.field public static final floatArrayBaseOffset:J
.field public static final intArrayBaseOffset:J
.field public static final longArrayBaseOffset:J
.field public static final shortArrayBaseOffset:J
# direct methods
.method static constructor <clinit>()V
.locals 20
const-string v0, "kryo"
const/4 v1, 0x0
const/4 v2, 0x1
:try_start_0
sget-boolean v5, Lcom/esotericsoftware/kryo/util/Util;->IS_ANDROID:Z
if-nez v5, :cond_0
const-class v5, Lsun/misc/Unsafe;
const-string v6, "theUnsafe"
invoke-virtual {v5, v6}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v5
invoke-virtual {v5, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
invoke-virtual {v5, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lsun/misc/Unsafe;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_7
:try_start_1
const-class v6, [B
invoke-virtual {v5, v6}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v6
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_6
int-to-long v6, v6
:try_start_2
const-class v8, [C
invoke-virtual {v5, v8}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v8
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_5
int-to-long v8, v8
:try_start_3
const-class v10, [S
invoke-virtual {v5, v10}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v10
:try_end_3
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_4
int-to-long v10, v10
:try_start_4
const-class v12, [I
invoke-virtual {v5, v12}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v12
:try_end_4
.catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_3
int-to-long v12, v12
:try_start_5
const-class v14, [F
invoke-virtual {v5, v14}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v14
:try_end_5
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_2
int-to-long v14, v14
:try_start_6
const-class v3, [J
invoke-virtual {v5, v3}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v3
:try_end_6
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_1
int-to-long v3, v3
:try_start_7
const-class v1, [D
invoke-virtual {v5, v1}, Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
move-result v0
:try_end_7
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_7} :catch_0
int-to-long v0, v0
move-wide/from16 v16, v6
goto/16 :goto_6
:catch_0
move-object v1, v5
move-wide/from16 v18, v3
move-wide v3, v6
move-wide/from16 v5, v18
goto :goto_5
:catch_1
move-object v1, v5
move-wide v3, v6
const-wide/16 v5, 0x0
goto :goto_5
:catch_2
move-object v1, v5
move-wide v3, v6
const-wide/16 v5, 0x0
goto :goto_4
:catch_3
move-object v1, v5
move-wide v3, v6
const-wide/16 v5, 0x0
goto :goto_3
:catch_4
move-object v1, v5
move-wide v3, v6
const-wide/16 v5, 0x0
goto :goto_2
:catch_5
move-object v1, v5
move-wide v3, v6
goto :goto_1
:catch_6
move-object v1, v5
goto :goto_0
:cond_0
:try_start_8
sget-boolean v1, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v1, :cond_1
const-string v1, "Running on Android platform. Use of sun.misc.Unsafe should be disabled"
invoke-static {v0, v1}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:try_end_8
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_8} :catch_7
:cond_1
const-wide/16 v0, 0x0
const-wide/16 v3, 0x0
const/4 v5, 0x0
const-wide/16 v8, 0x0
const-wide/16 v10, 0x0
const-wide/16 v12, 0x0
const-wide/16 v14, 0x0
const-wide/16 v16, 0x0
goto :goto_6
:catch_7
const/4 v1, 0x0
:goto_0
const-wide/16 v3, 0x0
:goto_1
const-wide/16 v5, 0x0
const-wide/16 v8, 0x0
:goto_2
const-wide/16 v10, 0x0
:goto_3
const-wide/16 v12, 0x0
:goto_4
const-wide/16 v14, 0x0
:goto_5
sget-boolean v7, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v7, :cond_2
const-string v7, "sun.misc.Unsafe is not accessible or not available. Use of sun.misc.Unsafe should be disabled"
invoke-static {v0, v7}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_2
move-wide/from16 v16, v3
move-wide v3, v5
move-object v5, v1
const-wide/16 v0, 0x0
:goto_6
sput-wide v16, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->byteArrayBaseOffset:J
sput-wide v8, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->charArrayBaseOffset:J
sput-wide v10, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->shortArrayBaseOffset:J
sput-wide v12, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->intArrayBaseOffset:J
sput-wide v14, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->floatArrayBaseOffset:J
sput-wide v3, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->longArrayBaseOffset:J
sput-wide v0, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->doubleArrayBaseOffset:J
sput-object v5, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->_unsafe:Lsun/misc/Unsafe;
invoke-static {v2}, Ljava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
move-result-object v0
:try_start_9
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const/4 v1, 0x3
new-array v1, v1, [Ljava/lang/Class;
const/4 v3, 0x0
sget-object v4, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
aput-object v4, v1, v3
sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v3, v1, v2
const/4 v3, 0x2
const-class v4, Ljava/lang/Object;
aput-object v4, v1, v3
invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
sput-object v0, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->directByteBufferConstr:Ljava/lang/reflect/Constructor;
invoke-virtual {v0, v2}, Ljava/lang/reflect/Constructor;->setAccessible(Z)V
:try_end_9
.catch Ljava/lang/Exception; {:try_start_9 .. :try_end_9} :catch_8
return-void
:catch_8
const/4 v0, 0x0
sput-object v0, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->directByteBufferConstr:Ljava/lang/reflect/Constructor;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final getDirectBufferAt(JI)Ljava/nio/ByteBuffer;
.locals 5
sget-object v0, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->directByteBufferConstr:Ljava/lang/reflect/Constructor;
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
:cond_0
const/4 v2, 0x3
:try_start_0
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x1
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
aput-object p2, v2, v3
const/4 p2, 0x2
aput-object v1, v2, p2
invoke-virtual {v0, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/nio/ByteBuffer;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object p2
:catch_0
move-exception p2
new-instance v0, Ljava/lang/RuntimeException;
invoke-static {p0, p1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object p0
const-string p1, "Cannot allocate ByteBuffer at a given address: "
invoke-virtual {p1, p0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0, p2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
.end method
.method public static releaseBuffer(Ljava/nio/ByteBuffer;)V
.locals 1
if-eqz p0, :cond_0
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->isDirect()Z
move-result v0
if-eqz v0, :cond_0
check-cast p0, Lsun/nio/ch/DirectBuffer;
invoke-interface {p0}, Lsun/nio/ch/DirectBuffer;->cleaner()Lsun/misc/Cleaner;
move-result-object p0
if-eqz p0, :cond_0
check-cast p0, Lsun/misc/Cleaner;
invoke-virtual {p0}, Lsun/misc/Cleaner;->clean()V
:cond_0
return-void
.end method
.method public static sortFieldsByOffset(Ljava/util/List;)[Ljava/lang/reflect/Field;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/reflect/Field;",
">;)[",
"Ljava/lang/reflect/Field;"
}
.end annotation
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/reflect/Field;
invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/reflect/Field;
new-instance v1, Lcom/esotericsoftware/kryo/util/UnsafeUtil$1;
invoke-direct {v1}, Lcom/esotericsoftware/kryo/util/UnsafeUtil$1;-><init>()V
invoke-static {v0, v1}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/reflect/Field;
sget-boolean v2, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v2, :cond_0
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Field \'"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "\' at offset "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->unsafe()Lsun/misc/Unsafe;
move-result-object v3
invoke-virtual {v3, v1}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v3
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "kryo"
invoke-static {v2, v1}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_0
:cond_1
return-object v0
.end method
.method public static final unsafe()Lsun/misc/Unsafe;
.locals 1
sget-object v0, Lcom/esotericsoftware/kryo/util/UnsafeUtil;->_unsafe:Lsun/misc/Unsafe;
return-object v0
.end method

View file

@ -0,0 +1,862 @@
.class public Lcom/esotericsoftware/kryo/util/Util;
.super Ljava/lang/Object;
.source "Util.java"
# static fields
.field public static final IS_ANDROID:Z
.field private static final classAvailabilities:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Ljava/lang/String;",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
.field public static isAndroid:Z
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 2
const-string v0, "java.vm.name"
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Dalvik"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
sput-boolean v0, Lcom/esotericsoftware/kryo/util/Util;->IS_ANDROID:Z
sput-boolean v0, Lcom/esotericsoftware/kryo/util/Util;->isAndroid:Z
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
sput-object v0, Lcom/esotericsoftware/kryo/util/Util;->classAvailabilities:Ljava/util/concurrent/ConcurrentHashMap;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static className(Ljava/lang/Class;)Ljava/lang/String;
.locals 4
invoke-virtual {p0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_1
invoke-static {p0}, Lcom/esotericsoftware/kryo/util/Util;->getElementClass(Ljava/lang/Class;)Ljava/lang/Class;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x10
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/4 v2, 0x0
invoke-static {p0}, Lcom/esotericsoftware/kryo/util/Util;->getDimensionCount(Ljava/lang/Class;)I
move-result p0
:goto_0
if-ge v2, p0, :cond_0
const-string v3, "[]"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {v0}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v0
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_1
invoke-virtual {p0}, Ljava/lang/Class;->isPrimitive()Z
move-result v0
if-nez v0, :cond_3
const-class v0, Ljava/lang/Object;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Boolean;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Byte;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Character;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Short;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Integer;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Long;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Float;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/Double;
if-eq p0, v0, :cond_3
const-class v0, Ljava/lang/String;
if-ne p0, v0, :cond_2
goto :goto_1
:cond_2
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_3
:goto_1
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getDimensionCount(Ljava/lang/Class;)I
.locals 1
invoke-virtual {p0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object p0
const/4 v0, 0x0
:goto_0
if-eqz p0, :cond_0
add-int/lit8 v0, v0, 0x1
invoke-virtual {p0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object p0
goto :goto_0
:cond_0
return v0
.end method
.method public static getElementClass(Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
:goto_0
invoke-virtual {p0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object v0
if-eqz v0, :cond_0
invoke-virtual {p0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;
move-result-object p0
goto :goto_0
:cond_0
return-object p0
.end method
.method public static getPrimitiveClass(Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
const-class v0, Ljava/lang/Integer;
if-ne p0, v0, :cond_0
sget-object p0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
return-object p0
:cond_0
const-class v0, Ljava/lang/Float;
if-ne p0, v0, :cond_1
sget-object p0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
return-object p0
:cond_1
const-class v0, Ljava/lang/Boolean;
if-ne p0, v0, :cond_2
sget-object p0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
return-object p0
:cond_2
const-class v0, Ljava/lang/Long;
if-ne p0, v0, :cond_3
sget-object p0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
return-object p0
:cond_3
const-class v0, Ljava/lang/Byte;
if-ne p0, v0, :cond_4
sget-object p0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
return-object p0
:cond_4
const-class v0, Ljava/lang/Character;
if-ne p0, v0, :cond_5
sget-object p0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
return-object p0
:cond_5
const-class v0, Ljava/lang/Short;
if-ne p0, v0, :cond_6
sget-object p0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
return-object p0
:cond_6
const-class v0, Ljava/lang/Double;
if-ne p0, v0, :cond_7
sget-object p0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
return-object p0
:cond_7
const-class v0, Ljava/lang/Void;
if-ne p0, v0, :cond_8
sget-object p0, Ljava/lang/Void;->TYPE:Ljava/lang/Class;
:cond_8
return-object p0
.end method
.method public static getWrapperClass(Ljava/lang/Class;)Ljava/lang/Class;
.locals 1
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_0
const-class p0, Ljava/lang/Integer;
return-object p0
:cond_0
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_1
const-class p0, Ljava/lang/Float;
return-object p0
:cond_1
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_2
const-class p0, Ljava/lang/Boolean;
return-object p0
:cond_2
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_3
const-class p0, Ljava/lang/Long;
return-object p0
:cond_3
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_4
const-class p0, Ljava/lang/Byte;
return-object p0
:cond_4
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_5
const-class p0, Ljava/lang/Character;
return-object p0
:cond_5
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_6
const-class p0, Ljava/lang/Short;
return-object p0
:cond_6
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-ne p0, v0, :cond_7
const-class p0, Ljava/lang/Double;
return-object p0
:cond_7
const-class p0, Ljava/lang/Void;
return-object p0
.end method
.method public static isClassAvailable(Ljava/lang/String;)Z
.locals 2
sget-object v0, Lcom/esotericsoftware/kryo/util/Util;->classAvailabilities:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p0}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
if-nez v0, :cond_0
:try_start_0
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "Class not available: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "kryo"
invoke-static {v1, v0}, Lcom/esotericsoftware/a/a;->r(Ljava/lang/String;Ljava/lang/String;)V
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
:goto_0
sget-object v1, Lcom/esotericsoftware/kryo/util/Util;->classAvailabilities:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1, p0, v0}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result p0
return p0
.end method
.method public static isWrapperClass(Ljava/lang/Class;)Z
.locals 1
const-class v0, Ljava/lang/Integer;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Float;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Boolean;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Long;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Byte;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Character;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Short;
if-eq p0, v0, :cond_1
const-class v0, Ljava/lang/Double;
if-ne p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
return p0
:cond_1
:goto_0
const/4 p0, 0x1
return p0
.end method
.method public static log(Ljava/lang/String;Ljava/lang/Object;)V
.locals 4
const-string v0, "kryo"
if-nez p1, :cond_1
sget-boolean p1, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz p1, :cond_0
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, ": null"
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v0, p0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
:cond_1
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->isPrimitive()Z
move-result v2
const-string v3, ": "
if-nez v2, :cond_3
const-class v2, Ljava/lang/Boolean;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Byte;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Character;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Short;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Integer;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Long;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Float;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/Double;
if-eq v1, v2, :cond_3
const-class v2, Ljava/lang/String;
if-ne v1, v2, :cond_2
goto :goto_0
:cond_2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Lcom/esotericsoftware/kryo/util/Util;->string(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
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-static {v0, p0}, Lcom/esotericsoftware/a/a;->r(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_1
:cond_3
:goto_0
sget-boolean v1, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v1, :cond_4
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p1}, Lcom/esotericsoftware/kryo/util/Util;->string(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
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-static {v0, p0}, Lcom/esotericsoftware/a/a;->s(Ljava/lang/String;Ljava/lang/String;)V
:cond_4
:goto_1
return-void
.end method
.method public static string(Ljava/lang/Object;)Ljava/lang/String;
.locals 3
if-nez p0, :cond_0
const-string p0, "null"
return-object p0
:cond_0
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v1
if-eqz v1, :cond_1
invoke-static {v0}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_1
:try_start_0
const-string v1, "toString"
const/4 v2, 0x0
new-array v2, v2, [Ljava/lang/Class;
invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;
move-result-object v1
const-class v2, Ljava/lang/Object;
if-ne v1, v2, :cond_3
sget-boolean v1, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v1, :cond_2
invoke-static {v0}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()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
:cond_3
:try_start_1
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
:try_end_1
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_1} :catch_1
return-object p0
:catch_1
move-exception p0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
sget-boolean v2, Lcom/esotericsoftware/a/a;->Em:Z
if-eqz v2, :cond_4
invoke-static {v0}, Lcom/esotericsoftware/kryo/util/Util;->className(Ljava/lang/Class;)Ljava/lang/String;
move-result-object v0
goto :goto_0
:cond_4
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
:goto_0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "(Exception "
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p0, " in toString)"
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
return-object p0
.end method
.method public static swapInt(I)I
.locals 2
and-int/lit16 v0, p0, 0xff
shl-int/lit8 v0, v0, 0x18
const v1, 0xff00
and-int/2addr v1, p0
shl-int/lit8 v1, v1, 0x8
or-int/2addr v0, v1
const/high16 v1, 0xff0000
and-int/2addr v1, p0
shr-int/lit8 v1, v1, 0x8
or-int/2addr v0, v1
shr-int/lit8 p0, p0, 0x18
and-int/lit16 p0, p0, 0xff
or-int/2addr p0, v0
return p0
.end method
.method public static swapLong(J)J
.locals 14
const/4 v0, 0x0
shr-long v1, p0, v0
const-wide/16 v3, 0xff
and-long/2addr v1, v3
const/16 v5, 0x38
shl-long/2addr v1, v5
const/16 v6, 0x8
shr-long v7, p0, v6
and-long/2addr v7, v3
const/16 v9, 0x30
shl-long/2addr v7, v9
or-long/2addr v1, v7
const/16 v7, 0x10
shr-long v10, p0, v7
and-long/2addr v10, v3
const/16 v8, 0x28
shl-long/2addr v10, v8
or-long/2addr v1, v10
const/16 v10, 0x18
shr-long v11, p0, v10
and-long/2addr v11, v3
const/16 v13, 0x20
shl-long/2addr v11, v13
or-long/2addr v1, v11
shr-long v11, p0, v13
and-long/2addr v11, v3
shl-long v10, v11, v10
or-long/2addr v1, v10
shr-long v10, p0, v8
and-long/2addr v10, v3
shl-long v7, v10, v7
or-long/2addr v1, v7
shr-long v7, p0, v9
and-long/2addr v7, v3
shl-long v6, v7, v6
or-long/2addr v1, v6
shr-long/2addr p0, v5
and-long/2addr p0, v3
shl-long/2addr p0, v0
or-long/2addr p0, v1
return-wide p0
.end method

View file

@ -0,0 +1,13 @@
.class public final Lcom/facebook/animated/drawable/R;
.super Ljava/lang/Object;
.source "R.java"
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -0,0 +1,153 @@
.class public Lcom/facebook/animated/gif/GifFrame;
.super Ljava/lang/Object;
.source "GifFrame.java"
# interfaces
.implements Lcom/facebook/imagepipeline/animated/a/d;
# annotations
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# instance fields
.field private mNativeContext:J
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end field
# direct methods
.method constructor <init>(J)V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/facebook/animated/gif/GifFrame;->mNativeContext:J
return-void
.end method
.method private native nativeFinalize()V
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetDurationMs()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetTransparentPixelColor()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeHasTransparency()Z
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeRenderFrame(IILandroid/graphics/Bitmap;)V
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
# virtual methods
.method public final a(IILandroid/graphics/Bitmap;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/facebook/animated/gif/GifFrame;->nativeRenderFrame(IILandroid/graphics/Bitmap;)V
return-void
.end method
.method public final dispose()V
.locals 0
invoke-virtual {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeDispose()V
return-void
.end method
.method protected finalize()V
.locals 0
invoke-direct {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeFinalize()V
return-void
.end method
.method public final getHeight()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetHeight()I
move-result v0
return v0
.end method
.method public final getWidth()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetWidth()I
move-result v0
return v0
.end method
.method public final getXOffset()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetXOffset()I
move-result v0
return v0
.end method
.method public final getYOffset()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetYOffset()I
move-result v0
return v0
.end method
.method native nativeDispose()V
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method native nativeGetDisposalMode()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method native nativeGetHeight()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method native nativeGetWidth()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method native nativeGetXOffset()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method native nativeGetYOffset()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method

View file

@ -0,0 +1,374 @@
.class public Lcom/facebook/animated/gif/GifImage;
.super Ljava/lang/Object;
.source "GifImage.java"
# interfaces
.implements Lcom/facebook/imagepipeline/animated/a/c;
.implements Lcom/facebook/imagepipeline/animated/b/c;
# annotations
.annotation build Lcom/facebook/common/d/d;
.end annotation
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# static fields
.field private static volatile Ez:Z
# instance fields
.field private mNativeContext:J
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method constructor <init>(J)V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/facebook/animated/gif/GifImage;->mNativeContext:J
return-void
.end method
.method private static declared-synchronized eX()V
.locals 2
const-class v0, Lcom/facebook/animated/gif/GifImage;
monitor-enter v0
:try_start_0
sget-boolean v1, Lcom/facebook/animated/gif/GifImage;->Ez:Z
if-nez v1, :cond_0
const/4 v1, 0x1
sput-boolean v1, Lcom/facebook/animated/gif/GifImage;->Ez:Z
const-string v1, "gifimage"
invoke-static {v1}, Lcom/facebook/soloader/SoLoader;->aD(Ljava/lang/String;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_0
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
throw v1
.end method
.method private static native nativeCreateFromDirectByteBuffer(Ljava/nio/ByteBuffer;)Lcom/facebook/animated/gif/GifImage;
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private static native nativeCreateFromNativeMemory(JI)Lcom/facebook/animated/gif/GifImage;
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeDispose()V
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeFinalize()V
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetDuration()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetFrame(I)Lcom/facebook/animated/gif/GifFrame;
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetFrameCount()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetFrameDurations()[I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetHeight()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetLoopCount()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetSizeInBytes()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
.method private native nativeGetWidth()I
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end method
# virtual methods
.method public final G(I)Lcom/facebook/imagepipeline/animated/a/b;
.locals 10
invoke-direct {p0, p1}, Lcom/facebook/animated/gif/GifImage;->nativeGetFrame(I)Lcom/facebook/animated/gif/GifFrame;
move-result-object v0
:try_start_0
new-instance v9, Lcom/facebook/imagepipeline/animated/a/b;
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetXOffset()I
move-result v3
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetYOffset()I
move-result v4
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetWidth()I
move-result v5
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetHeight()I
move-result v6
sget v7, Lcom/facebook/imagepipeline/animated/a/b$a;->PE:I
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeGetDisposalMode()I
move-result v1
if-eqz v1, :cond_1
const/4 v2, 0x1
if-eq v1, v2, :cond_1
const/4 v2, 0x2
if-ne v1, v2, :cond_0
sget v1, Lcom/facebook/imagepipeline/animated/a/b$b;->PI:I
goto :goto_0
:cond_0
const/4 v2, 0x3
if-ne v1, v2, :cond_1
sget v1, Lcom/facebook/imagepipeline/animated/a/b$b;->PJ:I
goto :goto_0
:cond_1
sget v1, Lcom/facebook/imagepipeline/animated/a/b$b;->PH:I
:goto_0
move v8, v1
move-object v1, v9
move v2, p1
invoke-direct/range {v1 .. v8}, Lcom/facebook/imagepipeline/animated/a/b;-><init>(IIIIIII)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeDispose()V
return-object v9
:catchall_0
move-exception p1
invoke-virtual {v0}, Lcom/facebook/animated/gif/GifFrame;->nativeDispose()V
throw p1
.end method
.method public final synthetic H(I)Lcom/facebook/imagepipeline/animated/a/d;
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/animated/gif/GifImage;->nativeGetFrame(I)Lcom/facebook/animated/gif/GifFrame;
move-result-object p1
return-object p1
.end method
.method public final a(Ljava/nio/ByteBuffer;)Lcom/facebook/imagepipeline/animated/a/c;
.locals 0
invoke-static {}, Lcom/facebook/animated/gif/GifImage;->eX()V
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
invoke-static {p1}, Lcom/facebook/animated/gif/GifImage;->nativeCreateFromDirectByteBuffer(Ljava/nio/ByteBuffer;)Lcom/facebook/animated/gif/GifImage;
move-result-object p1
return-object p1
.end method
.method public final b(JI)Lcom/facebook/imagepipeline/animated/a/c;
.locals 3
invoke-static {}, Lcom/facebook/animated/gif/GifImage;->eX()V
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-eqz v2, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/d/i;->checkArgument(Z)V
invoke-static {p1, p2, p3}, Lcom/facebook/animated/gif/GifImage;->nativeCreateFromNativeMemory(JI)Lcom/facebook/animated/gif/GifImage;
move-result-object p1
return-object p1
.end method
.method public final eY()[I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetFrameDurations()[I
move-result-object v0
return-object v0
.end method
.method public final eZ()I
.locals 3
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetLoopCount()I
move-result v0
const/4 v1, -0x1
const/4 v2, 0x1
if-eq v0, v1, :cond_1
if-eqz v0, :cond_0
add-int/2addr v0, v2
return v0
:cond_0
const/4 v0, 0x0
return v0
:cond_1
return v2
.end method
.method public final fa()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public final fb()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetSizeInBytes()I
move-result v0
return v0
.end method
.method protected finalize()V
.locals 0
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeFinalize()V
return-void
.end method
.method public final getFrameCount()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetFrameCount()I
move-result v0
return v0
.end method
.method public final getHeight()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetHeight()I
move-result v0
return v0
.end method
.method public final getWidth()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/gif/GifImage;->nativeGetWidth()I
move-result v0
return v0
.end method

View file

@ -0,0 +1,13 @@
.class public final Lcom/facebook/animated/gif/R;
.super Ljava/lang/Object;
.source "R.java"
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -0,0 +1,13 @@
.class public final Lcom/facebook/animated/webp/R;
.super Ljava/lang/Object;
.source "R.java"
# direct methods
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View file

@ -0,0 +1,128 @@
.class public Lcom/facebook/animated/webp/WebPFrame;
.super Ljava/lang/Object;
.source "WebPFrame.java"
# interfaces
.implements Lcom/facebook/imagepipeline/animated/a/d;
# annotations
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# instance fields
.field private mNativeContext:J
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end field
# direct methods
.method constructor <init>(J)V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/facebook/animated/webp/WebPFrame;->mNativeContext:J
return-void
.end method
.method private native nativeFinalize()V
.end method
.method private native nativeGetDurationMs()I
.end method
.method private native nativeRenderFrame(IILandroid/graphics/Bitmap;)V
.end method
# virtual methods
.method public final a(IILandroid/graphics/Bitmap;)V
.locals 0
invoke-direct {p0, p1, p2, p3}, Lcom/facebook/animated/webp/WebPFrame;->nativeRenderFrame(IILandroid/graphics/Bitmap;)V
return-void
.end method
.method public final dispose()V
.locals 0
invoke-virtual {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeDispose()V
return-void
.end method
.method protected finalize()V
.locals 0
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeFinalize()V
return-void
.end method
.method public final getHeight()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetHeight()I
move-result v0
return v0
.end method
.method public final getWidth()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetWidth()I
move-result v0
return v0
.end method
.method public final getXOffset()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetXOffset()I
move-result v0
return v0
.end method
.method public final getYOffset()I
.locals 1
invoke-virtual {p0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetYOffset()I
move-result v0
return v0
.end method
.method native nativeDispose()V
.end method
.method native nativeGetHeight()I
.end method
.method native nativeGetWidth()I
.end method
.method native nativeGetXOffset()I
.end method
.method native nativeGetYOffset()I
.end method
.method native nativeIsBlendWithPreviousFrame()Z
.end method
.method native nativeShouldDisposeToBackgroundColor()Z
.end method

View file

@ -0,0 +1,290 @@
.class public Lcom/facebook/animated/webp/WebPImage;
.super Ljava/lang/Object;
.source "WebPImage.java"
# interfaces
.implements Lcom/facebook/imagepipeline/animated/a/c;
.implements Lcom/facebook/imagepipeline/animated/b/c;
# annotations
.annotation build Lcom/facebook/common/d/d;
.end annotation
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# instance fields
.field private mNativeContext:J
.annotation build Lcom/facebook/common/d/d;
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method constructor <init>(J)V
.locals 0
.annotation build Lcom/facebook/common/d/d;
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/facebook/animated/webp/WebPImage;->mNativeContext:J
return-void
.end method
.method private static native nativeCreateFromDirectByteBuffer(Ljava/nio/ByteBuffer;)Lcom/facebook/animated/webp/WebPImage;
.end method
.method private static native nativeCreateFromNativeMemory(JI)Lcom/facebook/animated/webp/WebPImage;
.end method
.method private native nativeDispose()V
.end method
.method private native nativeFinalize()V
.end method
.method private native nativeGetDuration()I
.end method
.method private native nativeGetFrame(I)Lcom/facebook/animated/webp/WebPFrame;
.end method
.method private native nativeGetFrameCount()I
.end method
.method private native nativeGetFrameDurations()[I
.end method
.method private native nativeGetHeight()I
.end method
.method private native nativeGetLoopCount()I
.end method
.method private native nativeGetSizeInBytes()I
.end method
.method private native nativeGetWidth()I
.end method
# virtual methods
.method public final G(I)Lcom/facebook/imagepipeline/animated/a/b;
.locals 10
invoke-direct {p0, p1}, Lcom/facebook/animated/webp/WebPImage;->nativeGetFrame(I)Lcom/facebook/animated/webp/WebPFrame;
move-result-object v0
:try_start_0
new-instance v9, Lcom/facebook/imagepipeline/animated/a/b;
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetXOffset()I
move-result v3
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetYOffset()I
move-result v4
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetWidth()I
move-result v5
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeGetHeight()I
move-result v6
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeIsBlendWithPreviousFrame()Z
move-result v1
if-eqz v1, :cond_0
sget v1, Lcom/facebook/imagepipeline/animated/a/b$a;->PE:I
goto :goto_0
:cond_0
sget v1, Lcom/facebook/imagepipeline/animated/a/b$a;->PF:I
:goto_0
move v7, v1
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeShouldDisposeToBackgroundColor()Z
move-result v1
if-eqz v1, :cond_1
sget v1, Lcom/facebook/imagepipeline/animated/a/b$b;->PI:I
goto :goto_1
:cond_1
sget v1, Lcom/facebook/imagepipeline/animated/a/b$b;->PH:I
:goto_1
move v8, v1
move-object v1, v9
move v2, p1
invoke-direct/range {v1 .. v8}, Lcom/facebook/imagepipeline/animated/a/b;-><init>(IIIIIII)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeDispose()V
return-object v9
:catchall_0
move-exception p1
invoke-virtual {v0}, Lcom/facebook/animated/webp/WebPFrame;->nativeDispose()V
throw p1
.end method
.method public final synthetic H(I)Lcom/facebook/imagepipeline/animated/a/d;
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/animated/webp/WebPImage;->nativeGetFrame(I)Lcom/facebook/animated/webp/WebPFrame;
move-result-object p1
return-object p1
.end method
.method public final a(Ljava/nio/ByteBuffer;)Lcom/facebook/imagepipeline/animated/a/c;
.locals 0
invoke-static {}, Lcom/facebook/imagepipeline/nativecode/d;->eX()V
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
invoke-static {p1}, Lcom/facebook/animated/webp/WebPImage;->nativeCreateFromDirectByteBuffer(Ljava/nio/ByteBuffer;)Lcom/facebook/animated/webp/WebPImage;
move-result-object p1
return-object p1
.end method
.method public final b(JI)Lcom/facebook/imagepipeline/animated/a/c;
.locals 3
invoke-static {}, Lcom/facebook/imagepipeline/nativecode/d;->eX()V
const-wide/16 v0, 0x0
cmp-long v2, p1, v0
if-eqz v2, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/facebook/common/d/i;->checkArgument(Z)V
invoke-static {p1, p2, p3}, Lcom/facebook/animated/webp/WebPImage;->nativeCreateFromNativeMemory(JI)Lcom/facebook/animated/webp/WebPImage;
move-result-object p1
return-object p1
.end method
.method public final eY()[I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetFrameDurations()[I
move-result-object v0
return-object v0
.end method
.method public final eZ()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetLoopCount()I
move-result v0
return v0
.end method
.method public final fa()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
.method public final fb()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetSizeInBytes()I
move-result v0
return v0
.end method
.method protected finalize()V
.locals 0
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeFinalize()V
return-void
.end method
.method public final getFrameCount()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetFrameCount()I
move-result v0
return v0
.end method
.method public final getHeight()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetHeight()I
move-result v0
return v0
.end method
.method public final getWidth()I
.locals 1
invoke-direct {p0}, Lcom/facebook/animated/webp/WebPImage;->nativeGetWidth()I
move-result v0
return v0
.end method

View file

@ -0,0 +1,83 @@
.class final Lcom/facebook/b/a$1;
.super Ljava/lang/Object;
.source "AbstractDataSource.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/b/a;->a(Lcom/facebook/b/e;Ljava/util/concurrent/Executor;ZZ)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic HL:Z
.field final synthetic HM:Lcom/facebook/b/e;
.field final synthetic HN:Z
.field final synthetic HO:Lcom/facebook/b/a;
# direct methods
.method constructor <init>(Lcom/facebook/b/a;ZLcom/facebook/b/e;Z)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/a$1;->HO:Lcom/facebook/b/a;
iput-boolean p2, p0, Lcom/facebook/b/a$1;->HL:Z
iput-object p3, p0, Lcom/facebook/b/a$1;->HM:Lcom/facebook/b/e;
iput-boolean p4, p0, Lcom/facebook/b/a$1;->HN:Z
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 2
iget-boolean v0, p0, Lcom/facebook/b/a$1;->HL:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/facebook/b/a$1;->HM:Lcom/facebook/b/e;
iget-object v1, p0, Lcom/facebook/b/a$1;->HO:Lcom/facebook/b/a;
invoke-interface {v0, v1}, Lcom/facebook/b/e;->b(Lcom/facebook/b/c;)V
return-void
:cond_0
iget-boolean v0, p0, Lcom/facebook/b/a$1;->HN:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/facebook/b/a$1;->HM:Lcom/facebook/b/e;
invoke-interface {v0}, Lcom/facebook/b/e;->fV()V
return-void
:cond_1
iget-object v0, p0, Lcom/facebook/b/a$1;->HM:Lcom/facebook/b/e;
iget-object v1, p0, Lcom/facebook/b/a$1;->HO:Lcom/facebook/b/a;
invoke-interface {v0, v1}, Lcom/facebook/b/e;->a(Lcom/facebook/b/c;)V
return-void
.end method

View file

@ -0,0 +1,51 @@
.class final Lcom/facebook/b/a$2;
.super Ljava/lang/Object;
.source "AbstractDataSource.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/b/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic HO:Lcom/facebook/b/a;
.field final synthetic HP:Lcom/facebook/b/e;
# direct methods
.method constructor <init>(Lcom/facebook/b/a;Lcom/facebook/b/e;)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/a$2;->HO:Lcom/facebook/b/a;
iput-object p2, p0, Lcom/facebook/b/a$2;->HP:Lcom/facebook/b/e;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 2
iget-object v0, p0, Lcom/facebook/b/a$2;->HP:Lcom/facebook/b/e;
iget-object v1, p0, Lcom/facebook/b/a$2;->HO:Lcom/facebook/b/a;
invoke-interface {v0, v1}, Lcom/facebook/b/e;->c(Lcom/facebook/b/c;)V
return-void
.end method

View file

@ -0,0 +1,64 @@
.class final Lcom/facebook/b/a$a;
.super Ljava/lang/Enum;
.source "AbstractDataSource.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/b/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4018
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/facebook/b/a$a;",
">;"
}
.end annotation
# static fields
.field public static final HQ:I = 0x1
.field public static final HR:I = 0x2
.field public static final HS:I = 0x3
.field private static final synthetic HT:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
const/4 v0, 0x3
new-array v0, v0, [I
sget v1, Lcom/facebook/b/a$a;->HQ:I
const/4 v2, 0x0
aput v1, v0, v2
sget v1, Lcom/facebook/b/a$a;->HR:I
const/4 v2, 0x1
aput v1, v0, v2
sget v1, Lcom/facebook/b/a$a;->HS:I
const/4 v2, 0x2
aput v1, v0, v2
sput-object v0, Lcom/facebook/b/a$a;->HT:[I
return-void
.end method

View file

@ -0,0 +1,139 @@
.class public abstract Lcom/facebook/b/b;
.super Ljava/lang/Object;
.source "BaseDataSubscriber.java"
# interfaces
.implements Lcom/facebook/b/e;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/facebook/b/e<",
"TT;>;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Lcom/facebook/b/c;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
invoke-interface {p1}, Lcom/facebook/b/c;->isFinished()Z
move-result v0
:try_start_0
invoke-virtual {p0, p1}, Lcom/facebook/b/b;->d(Lcom/facebook/b/c;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
invoke-interface {p1}, Lcom/facebook/b/c;->fS()Z
:cond_0
return-void
:catchall_0
move-exception v1
if-eqz v0, :cond_1
invoke-interface {p1}, Lcom/facebook/b/c;->fS()Z
:cond_1
throw v1
.end method
.method public final b(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
:try_start_0
invoke-virtual {p0, p1}, Lcom/facebook/b/b;->e(Lcom/facebook/b/c;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
invoke-interface {p1}, Lcom/facebook/b/c;->fS()Z
return-void
:catchall_0
move-exception v0
invoke-interface {p1}, Lcom/facebook/b/c;->fS()Z
throw v0
.end method
.method public c(Lcom/facebook/b/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
return-void
.end method
.method protected abstract d(Lcom/facebook/b/c;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
.end method
.method protected abstract e(Lcom/facebook/b/c;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
.end method
.method public final fV()V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
return-void
.end method

View file

@ -0,0 +1,56 @@
.class public final Lcom/facebook/b/d$1;
.super Ljava/lang/Object;
.source "DataSources.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/b/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;"
}
.end annotation
# instance fields
.field final synthetic HU:Ljava/lang/Throwable;
# direct methods
.method public constructor <init>(Ljava/lang/Throwable;)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/d$1;->HU:Ljava/lang/Throwable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final synthetic get()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/facebook/b/d$1;->HU:Ljava/lang/Throwable;
invoke-static {v0}, Lcom/facebook/b/d;->g(Ljava/lang/Throwable;)Lcom/facebook/b/c;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,162 @@
.class final Lcom/facebook/b/d$2;
.super Ljava/lang/Object;
.source "DataSources.java"
# interfaces
.implements Lcom/facebook/b/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/b/d;->f(Lcom/facebook/b/c;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/b/e<",
"TT;>;"
}
.end annotation
# instance fields
.field final synthetic HV:Lcom/facebook/b/d$a;
.field final synthetic HW:Lcom/facebook/b/d$a;
.field final synthetic val$latch:Ljava/util/concurrent/CountDownLatch;
# direct methods
.method constructor <init>(Lcom/facebook/b/d$a;Ljava/util/concurrent/CountDownLatch;Lcom/facebook/b/d$a;)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/d$2;->HV:Lcom/facebook/b/d$a;
iput-object p2, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
iput-object p3, p0, Lcom/facebook/b/d$2;->HW:Lcom/facebook/b/d$a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
invoke-interface {p1}, Lcom/facebook/b/c;->isFinished()Z
move-result v0
if-nez v0, :cond_0
return-void
:cond_0
:try_start_0
iget-object v0, p0, Lcom/facebook/b/d$2;->HV:Lcom/facebook/b/d$a;
invoke-interface {p1}, Lcom/facebook/b/c;->getResult()Ljava/lang/Object;
move-result-object p1
iput-object p1, v0, Lcom/facebook/b/d$a;->value:Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p1, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
throw p1
.end method
.method public final b(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
:try_start_0
iget-object v0, p0, Lcom/facebook/b/d$2;->HW:Lcom/facebook/b/d$a;
invoke-interface {p1}, Lcom/facebook/b/c;->fR()Ljava/lang/Throwable;
move-result-object p1
iput-object p1, v0, Lcom/facebook/b/d$a;->value:Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p1, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {p1}, Ljava/util/concurrent/CountDownLatch;->countDown()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
throw p1
.end method
.method public final c(Lcom/facebook/b/c;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
return-void
.end method
.method public final fV()V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
iget-object v0, p0, Lcom/facebook/b/d$2;->val$latch:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
return-void
.end method

View file

@ -0,0 +1,37 @@
.class final Lcom/facebook/b/d$3;
.super Ljava/lang/Object;
.source "DataSources.java"
# interfaces
.implements Ljava/util/concurrent/Executor;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/b/d;->f(Lcom/facebook/b/c;)Ljava/lang/Object;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final execute(Ljava/lang/Runnable;)V
.locals 0
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
return-void
.end method

View file

@ -0,0 +1,54 @@
.class public interface abstract Lcom/facebook/b/e;
.super Ljava/lang/Object;
.source "DataSubscriber.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract a(Lcom/facebook/b/c;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
.end method
.method public abstract b(Lcom/facebook/b/c;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
.end method
.method public abstract c(Lcom/facebook/b/c;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
.end method
.method public abstract fV()V
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.end method

View file

@ -0,0 +1,147 @@
.class final Lcom/facebook/b/f$a$a;
.super Ljava/lang/Object;
.source "FirstAvailableDataSourceSupplier.java"
# interfaces
.implements Lcom/facebook/b/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/b/f$a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/b/e<",
"TT;>;"
}
.end annotation
# instance fields
.field final synthetic Ib:Lcom/facebook/b/f$a;
# direct methods
.method private constructor <init>(Lcom/facebook/b/f$a;)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/facebook/b/f$a;B)V
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/b/f$a$a;-><init>(Lcom/facebook/b/f$a;)V
return-void
.end method
# virtual methods
.method public final a(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
invoke-interface {p1}, Lcom/facebook/b/c;->fP()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-static {v0, p1}, Lcom/facebook/b/f$a;->b(Lcom/facebook/b/f$a;Lcom/facebook/b/c;)V
return-void
:cond_0
invoke-interface {p1}, Lcom/facebook/b/c;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-static {v0, p1}, Lcom/facebook/b/f$a;->a(Lcom/facebook/b/f$a;Lcom/facebook/b/c;)V
:cond_1
return-void
.end method
.method public final b(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-static {v0, p1}, Lcom/facebook/b/f$a;->a(Lcom/facebook/b/f$a;Lcom/facebook/b/c;)V
return-void
.end method
.method public final c(Lcom/facebook/b/c;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-virtual {v0}, Lcom/facebook/b/f$a;->getProgress()F
move-result v0
iget-object v1, p0, Lcom/facebook/b/f$a$a;->Ib:Lcom/facebook/b/f$a;
invoke-interface {p1}, Lcom/facebook/b/c;->getProgress()F
move-result p1
invoke-static {v0, p1}, Ljava/lang/Math;->max(FF)F
move-result p1
invoke-virtual {v1, p1}, Lcom/facebook/b/f$a;->h(F)Z
return-void
.end method
.method public final fV()V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
return-void
.end method

View file

@ -0,0 +1,151 @@
.class public final Lcom/facebook/b/f;
.super Ljava/lang/Object;
.source "FirstAvailableDataSourceSupplier.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/b/f$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;"
}
.end annotation
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# instance fields
.field final HX:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/List;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v0
xor-int/lit8 v0, v0, 0x1
const-string v1, "List of suppliers is empty!"
invoke-static {v0, v1}, Lcom/facebook/common/d/i;->checkArgument(ZLjava/lang/Object;)V
iput-object p1, p0, Lcom/facebook/b/f;->HX:Ljava/util/List;
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
instance-of v0, p1, Lcom/facebook/b/f;
if-nez v0, :cond_1
const/4 p1, 0x0
return p1
:cond_1
check-cast p1, Lcom/facebook/b/f;
iget-object v0, p0, Lcom/facebook/b/f;->HX:Ljava/util/List;
iget-object p1, p1, Lcom/facebook/b/f;->HX:Ljava/util/List;
invoke-static {v0, p1}, Lcom/facebook/common/d/h;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public final synthetic get()Ljava/lang/Object;
.locals 1
new-instance v0, Lcom/facebook/b/f$a;
invoke-direct {v0, p0}, Lcom/facebook/b/f$a;-><init>(Lcom/facebook/b/f;)V
return-object v0
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lcom/facebook/b/f;->HX:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->hashCode()I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 3
invoke-static {p0}, Lcom/facebook/common/d/h;->x(Ljava/lang/Object;)Lcom/facebook/common/d/h$a;
move-result-object v0
iget-object v1, p0, Lcom/facebook/b/f;->HX:Ljava/util/List;
const-string v2, "list"
invoke-virtual {v0, v2, v1}, Lcom/facebook/common/d/h$a;->d(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/common/d/h$a;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/common/d/h$a;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,144 @@
.class final Lcom/facebook/b/g$a$a;
.super Ljava/lang/Object;
.source "IncreasingQualityDataSourceSupplier.java"
# interfaces
.implements Lcom/facebook/b/e;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/b/g$a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/b/e<",
"TT;>;"
}
.end annotation
# instance fields
.field final synthetic Ij:Lcom/facebook/b/g$a;
.field private mIndex:I
# direct methods
.method public constructor <init>(Lcom/facebook/b/g$a;I)V
.locals 0
iput-object p1, p0, Lcom/facebook/b/g$a$a;->Ij:Lcom/facebook/b/g$a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p2, p0, Lcom/facebook/b/g$a$a;->mIndex:I
return-void
.end method
# virtual methods
.method public final a(Lcom/facebook/b/c;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
invoke-interface {p1}, Lcom/facebook/b/c;->fP()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/facebook/b/g$a$a;->Ij:Lcom/facebook/b/g$a;
iget v1, p0, Lcom/facebook/b/g$a$a;->mIndex:I
invoke-static {v0, v1, p1}, Lcom/facebook/b/g$a;->a(Lcom/facebook/b/g$a;ILcom/facebook/b/c;)V
return-void
:cond_0
invoke-interface {p1}, Lcom/facebook/b/c;->isFinished()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/facebook/b/g$a$a;->Ij:Lcom/facebook/b/g$a;
iget v1, p0, Lcom/facebook/b/g$a$a;->mIndex:I
invoke-static {v0, v1, p1}, Lcom/facebook/b/g$a;->b(Lcom/facebook/b/g$a;ILcom/facebook/b/c;)V
:cond_1
return-void
.end method
.method public final b(Lcom/facebook/b/c;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
iget-object v0, p0, Lcom/facebook/b/g$a$a;->Ij:Lcom/facebook/b/g$a;
iget v1, p0, Lcom/facebook/b/g$a$a;->mIndex:I
invoke-static {v0, v1, p1}, Lcom/facebook/b/g$a;->b(Lcom/facebook/b/g$a;ILcom/facebook/b/c;)V
return-void
.end method
.method public final c(Lcom/facebook/b/c;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/b/c<",
"TT;>;)V"
}
.end annotation
iget v0, p0, Lcom/facebook/b/g$a$a;->mIndex:I
if-nez v0, :cond_0
iget-object v0, p0, Lcom/facebook/b/g$a$a;->Ij:Lcom/facebook/b/g$a;
invoke-interface {p1}, Lcom/facebook/b/c;->getProgress()F
move-result p1
invoke-virtual {v0, p1}, Lcom/facebook/b/g$a;->h(F)Z
:cond_0
return-void
.end method
.method public final fV()V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
return-void
.end method

View file

@ -0,0 +1,157 @@
.class public final Lcom/facebook/b/g;
.super Ljava/lang/Object;
.source "IncreasingQualityDataSourceSupplier.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/b/g$a;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;"
}
.end annotation
.annotation build Ljavax/annotation/concurrent/ThreadSafe;
.end annotation
# instance fields
.field final HX:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;>;"
}
.end annotation
.end field
.field final Ic:Z
# direct methods
.method public constructor <init>(Ljava/util/List;Z)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/facebook/common/d/k<",
"Lcom/facebook/b/c<",
"TT;>;>;>;Z)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result p2
xor-int/lit8 p2, p2, 0x1
const-string v0, "List of suppliers is empty!"
invoke-static {p2, v0}, Lcom/facebook/common/d/i;->checkArgument(ZLjava/lang/Object;)V
iput-object p1, p0, Lcom/facebook/b/g;->HX:Ljava/util/List;
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/b/g;->Ic:Z
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
instance-of v0, p1, Lcom/facebook/b/g;
if-nez v0, :cond_1
const/4 p1, 0x0
return p1
:cond_1
check-cast p1, Lcom/facebook/b/g;
iget-object v0, p0, Lcom/facebook/b/g;->HX:Ljava/util/List;
iget-object p1, p1, Lcom/facebook/b/g;->HX:Ljava/util/List;
invoke-static {v0, p1}, Lcom/facebook/common/d/h;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public final synthetic get()Ljava/lang/Object;
.locals 1
new-instance v0, Lcom/facebook/b/g$a;
invoke-direct {v0, p0}, Lcom/facebook/b/g$a;-><init>(Lcom/facebook/b/g;)V
return-object v0
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lcom/facebook/b/g;->HX:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->hashCode()I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 3
invoke-static {p0}, Lcom/facebook/common/d/h;->x(Ljava/lang/Object;)Lcom/facebook/common/d/h$a;
move-result-object v0
iget-object v1, p0, Lcom/facebook/b/g;->HX:Ljava/util/List;
const-string v2, "list"
invoke-virtual {v0, v2, v1}, Lcom/facebook/common/d/h$a;->d(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/common/d/h$a;
move-result-object v0
invoke-virtual {v0}, Lcom/facebook/common/d/h$a;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,72 @@
.class public final Lcom/facebook/b/h;
.super Lcom/facebook/b/a;
.source "SimpleDataSource.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Lcom/facebook/b/a<",
"TT;>;"
}
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
invoke-direct {p0}, Lcom/facebook/b/a;-><init>()V
return-void
.end method
# virtual methods
.method public final a(Ljava/lang/Object;Z)Z
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;Z)Z"
}
.end annotation
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-super {p0, p1, p2}, Lcom/facebook/b/a;->a(Ljava/lang/Object;Z)Z
move-result p1
return p1
.end method
.method public final e(Ljava/lang/Throwable;)Z
.locals 0
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Throwable;
invoke-super {p0, p1}, Lcom/facebook/b/a;->e(Ljava/lang/Throwable;)Z
move-result p1
return p1
.end method
.method public final h(F)Z
.locals 0
invoke-super {p0, p1}, Lcom/facebook/b/a;->h(F)Z
move-result p1
return p1
.end method

View file

@ -0,0 +1,176 @@
.class public final Lcom/facebook/cache/common/a$a;
.super Ljava/lang/Enum;
.source "CacheErrorLogger.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/common/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/facebook/cache/common/a$a;",
">;"
}
.end annotation
# static fields
.field public static final EA:I = 0x1
.field public static final EB:I = 0x2
.field public static final EC:I = 0x3
.field public static final ED:I = 0x4
.field public static final EE:I = 0x5
.field public static final EF:I = 0x6
.field public static final EG:I = 0x7
.field public static final EH:I = 0x8
.field public static final EI:I = 0x9
.field public static final EJ:I = 0xa
.field public static final EK:I = 0xb
.field public static final EL:I = 0xc
.field public static final EM:I = 0xd
.field public static final EN:I = 0xe
.field public static final EO:I = 0xf
.field public static final EP:I = 0x10
.field public static final ER:I = 0x11
.field private static final synthetic ES:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
const/16 v0, 0x11
new-array v0, v0, [I
sget v1, Lcom/facebook/cache/common/a$a;->EA:I
const/4 v2, 0x0
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EB:I
const/4 v2, 0x1
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EC:I
const/4 v2, 0x2
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->ED:I
const/4 v2, 0x3
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EE:I
const/4 v2, 0x4
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EF:I
const/4 v2, 0x5
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EG:I
const/4 v2, 0x6
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EH:I
const/4 v2, 0x7
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EI:I
const/16 v2, 0x8
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EJ:I
const/16 v2, 0x9
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EK:I
const/16 v2, 0xa
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EL:I
const/16 v2, 0xb
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EM:I
const/16 v2, 0xc
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EN:I
const/16 v2, 0xd
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EO:I
const/16 v2, 0xe
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->EP:I
const/16 v2, 0xf
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/a$a;->ER:I
const/16 v2, 0x10
aput v1, v0, v2
sput-object v0, Lcom/facebook/cache/common/a$a;->ES:[I
return-void
.end method

View file

@ -0,0 +1,72 @@
.class public final Lcom/facebook/cache/common/b$a;
.super Ljava/lang/Enum;
.source "CacheEventListener.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/common/b;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "a"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/facebook/cache/common/b$a;",
">;"
}
.end annotation
# static fields
.field public static final ET:I = 0x1
.field public static final EU:I = 0x2
.field public static final EV:I = 0x3
.field public static final EW:I = 0x4
.field private static final synthetic EX:[I
# direct methods
.method static constructor <clinit>()V
.locals 3
const/4 v0, 0x4
new-array v0, v0, [I
sget v1, Lcom/facebook/cache/common/b$a;->ET:I
const/4 v2, 0x0
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/b$a;->EU:I
const/4 v2, 0x1
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/b$a;->EV:I
const/4 v2, 0x2
aput v1, v0, v2
sget v1, Lcom/facebook/cache/common/b$a;->EW:I
const/4 v2, 0x3
aput v1, v0, v2
sput-object v0, Lcom/facebook/cache/common/b$a;->EX:[I
return-void
.end method

View file

@ -0,0 +1,164 @@
.class public final Lcom/facebook/cache/common/c;
.super Ljava/lang/Object;
.source "CacheKeyUtil.java"
# direct methods
.method public static a(Lcom/facebook/cache/common/CacheKey;)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/facebook/cache/common/CacheKey;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
:try_start_0
instance-of v0, p0, Lcom/facebook/cache/common/d;
if-eqz v0, :cond_0
check-cast p0, Lcom/facebook/cache/common/d;
iget-object p0, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
new-instance v0, Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
const/4 v1, 0x0
:goto_0
invoke-interface {p0}, Ljava/util/List;->size()I
move-result v2
if-ge v1, v2, :cond_1
invoke-interface {p0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/facebook/cache/common/CacheKey;
invoke-static {v2}, Lcom/facebook/cache/common/c;->c(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
new-instance v0, Ljava/util/ArrayList;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
invoke-static {p0}, Lcom/facebook/cache/common/c;->c(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_0
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
:cond_1
return-object v0
:catch_0
move-exception p0
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
goto :goto_2
:goto_1
throw v0
:goto_2
goto :goto_1
.end method
.method public static b(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
.locals 1
:try_start_0
instance-of v0, p0, Lcom/facebook/cache/common/d;
if-eqz v0, :cond_0
check-cast p0, Lcom/facebook/cache/common/d;
iget-object p0, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
const/4 v0, 0x0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/facebook/cache/common/CacheKey;
invoke-static {p0}, Lcom/facebook/cache/common/c;->c(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_0
invoke-static {p0}, Lcom/facebook/cache/common/c;->c(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method private static c(Lcom/facebook/cache/common/CacheKey;)Ljava/lang/String;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
invoke-interface {p0}, Lcom/facebook/cache/common/CacheKey;->getUriString()Ljava/lang/String;
move-result-object p0
const-string v0, "UTF-8"
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p0
invoke-static {p0}, Lcom/facebook/common/j/c;->b([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method

View file

@ -0,0 +1,108 @@
.class public final Lcom/facebook/cache/common/d;
.super Ljava/lang/Object;
.source "MultiCacheKey.java"
# interfaces
.implements Lcom/facebook/cache/common/CacheKey;
# instance fields
.field final EY:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/cache/common/CacheKey;",
">;"
}
.end annotation
.end field
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
instance-of v0, p1, Lcom/facebook/cache/common/d;
if-eqz v0, :cond_1
check-cast p1, Lcom/facebook/cache/common/d;
iget-object v0, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
iget-object p1, p1, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public final getUriString()Ljava/lang/String;
.locals 2
iget-object v0, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
const/4 v1, 0x0
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/facebook/cache/common/CacheKey;
invoke-interface {v0}, Lcom/facebook/cache/common/CacheKey;->getUriString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->hashCode()I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "MultiCacheKey:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lcom/facebook/cache/common/d;->EY:Ljava/util/List;
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,90 @@
.class public final Lcom/facebook/cache/common/g;
.super Ljava/lang/Object;
.source "SimpleCacheKey.java"
# interfaces
.implements Lcom/facebook/cache/common/CacheKey;
# instance fields
.field final mKey:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public final equals(Ljava/lang/Object;)Z
.locals 1
if-ne p1, p0, :cond_0
const/4 p1, 0x1
return p1
:cond_0
instance-of v0, p1, Lcom/facebook/cache/common/g;
if-eqz v0, :cond_1
check-cast p1, Lcom/facebook/cache/common/g;
iget-object v0, p0, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
iget-object p1, p1, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public final getUriString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
return-object v0
.end method
.method public final hashCode()I
.locals 1
iget-object v0, p0, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
return v0
.end method
.method public final toString()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/facebook/cache/common/g;->mKey:Ljava/lang/String;
return-object v0
.end method

View file

@ -0,0 +1,13 @@
.class public interface abstract Lcom/facebook/cache/common/h;
.super Ljava/lang/Object;
.source "WriterCallback.java"
# virtual methods
.method public abstract write(Ljava/io/OutputStream;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method

View file

@ -0,0 +1,62 @@
.class final Lcom/facebook/cache/disk/DiskCacheConfig$a$1;
.super Ljava/lang/Object;
.source "DiskCacheConfig.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/cache/disk/DiskCacheConfig$a;->fl()Lcom/facebook/cache/disk/DiskCacheConfig;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Ljava/io/File;",
">;"
}
.end annotation
# instance fields
.field final synthetic FC:Lcom/facebook/cache/disk/DiskCacheConfig$a;
# direct methods
.method constructor <init>(Lcom/facebook/cache/disk/DiskCacheConfig$a;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/DiskCacheConfig$a$1;->FC:Lcom/facebook/cache/disk/DiskCacheConfig$a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final synthetic get()Ljava/lang/Object;
.locals 1
iget-object v0, p0, Lcom/facebook/cache/disk/DiskCacheConfig$a$1;->FC:Lcom/facebook/cache/disk/DiskCacheConfig$a;
iget-object v0, v0, Lcom/facebook/cache/disk/DiskCacheConfig$a;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,104 @@
.class final Lcom/facebook/cache/disk/a$a;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/common/c/b;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "a"
.end annotation
# instance fields
.field final Fi:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/facebook/cache/disk/c$a;",
">;"
}
.end annotation
.end field
.field final synthetic Fj:Lcom/facebook/cache/disk/a;
# direct methods
.method private constructor <init>(Lcom/facebook/cache/disk/a;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/a$a;->Fj:Lcom/facebook/cache/disk/a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1}, Ljava/util/ArrayList;-><init>()V
iput-object p1, p0, Lcom/facebook/cache/disk/a$a;->Fi:Ljava/util/List;
return-void
.end method
.method synthetic constructor <init>(Lcom/facebook/cache/disk/a;B)V
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/cache/disk/a$a;-><init>(Lcom/facebook/cache/disk/a;)V
return-void
.end method
# virtual methods
.method public final j(Ljava/io/File;)V
.locals 0
return-void
.end method
.method public final k(Ljava/io/File;)V
.locals 4
iget-object v0, p0, Lcom/facebook/cache/disk/a$a;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0, p1}, Lcom/facebook/cache/disk/a;->a(Lcom/facebook/cache/disk/a;Ljava/io/File;)Lcom/facebook/cache/disk/a$c;
move-result-object v0
if-eqz v0, :cond_0
iget-object v1, v0, Lcom/facebook/cache/disk/a$c;->type:Ljava/lang/String;
const-string v2, ".cnt"
if-ne v1, v2, :cond_0
iget-object v1, p0, Lcom/facebook/cache/disk/a$a;->Fi:Ljava/util/List;
new-instance v2, Lcom/facebook/cache/disk/a$b;
iget-object v0, v0, Lcom/facebook/cache/disk/a$c;->Fl:Ljava/lang/String;
const/4 v3, 0x0
invoke-direct {v2, v0, p1, v3}, Lcom/facebook/cache/disk/a$b;-><init>(Ljava/lang/String;Ljava/io/File;B)V
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:cond_0
return-void
.end method
.method public final l(Ljava/io/File;)V
.locals 0
return-void
.end method

View file

@ -0,0 +1,131 @@
.class final Lcom/facebook/cache/disk/a$b;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/cache/disk/c$a;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "b"
.end annotation
# instance fields
.field final Fk:Lcom/facebook/a/b;
.field private final id:Ljava/lang/String;
.field private size:J
.field private timestamp:J
# direct methods
.method private constructor <init>(Ljava/lang/String;Ljava/io/File;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-static {p2}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/facebook/cache/disk/a$b;->id:Ljava/lang/String;
invoke-static {p2}, Lcom/facebook/a/b;->g(Ljava/io/File;)Lcom/facebook/a/b;
move-result-object p1
iput-object p1, p0, Lcom/facebook/cache/disk/a$b;->Fk:Lcom/facebook/a/b;
const-wide/16 p1, -0x1
iput-wide p1, p0, Lcom/facebook/cache/disk/a$b;->size:J
iput-wide p1, p0, Lcom/facebook/cache/disk/a$b;->timestamp:J
return-void
.end method
.method synthetic constructor <init>(Ljava/lang/String;Ljava/io/File;B)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/facebook/cache/disk/a$b;-><init>(Ljava/lang/String;Ljava/io/File;)V
return-void
.end method
# virtual methods
.method public final getId()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcom/facebook/cache/disk/a$b;->id:Ljava/lang/String;
return-object v0
.end method
.method public final getSize()J
.locals 5
iget-wide v0, p0, Lcom/facebook/cache/disk/a$b;->size:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-gez v4, :cond_0
iget-object v0, p0, Lcom/facebook/cache/disk/a$b;->Fk:Lcom/facebook/a/b;
iget-object v0, v0, Lcom/facebook/a/b;->mFile:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/cache/disk/a$b;->size:J
:cond_0
iget-wide v0, p0, Lcom/facebook/cache/disk/a$b;->size:J
return-wide v0
.end method
.method public final getTimestamp()J
.locals 5
iget-wide v0, p0, Lcom/facebook/cache/disk/a$b;->timestamp:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-gez v4, :cond_0
iget-object v0, p0, Lcom/facebook/cache/disk/a$b;->Fk:Lcom/facebook/a/b;
iget-object v0, v0, Lcom/facebook/a/b;->mFile:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->lastModified()J
move-result-wide v0
iput-wide v0, p0, Lcom/facebook/cache/disk/a$b;->timestamp:J
:cond_0
iget-wide v0, p0, Lcom/facebook/cache/disk/a$b;->timestamp:J
return-wide v0
.end method

View file

@ -0,0 +1,74 @@
.class final Lcom/facebook/cache/disk/a$c;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "c"
.end annotation
# instance fields
.field public final Fl:Ljava/lang/String;
.field public final type:Ljava/lang/String;
# direct methods
.method constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/facebook/cache/disk/a$c;->type:Ljava/lang/String;
iput-object p2, p0, Lcom/facebook/cache/disk/a$c;->Fl:Ljava/lang/String;
return-void
.end method
.method synthetic constructor <init>(Ljava/lang/String;Ljava/lang/String;B)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/facebook/cache/disk/a$c;-><init>(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public final toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/facebook/cache/disk/a$c;->type:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/facebook/cache/disk/a$c;->Fl:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,52 @@
.class final Lcom/facebook/cache/disk/a$d;
.super Ljava/io/IOException;
.source "DefaultDiskStorage.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "d"
.end annotation
# instance fields
.field public final actual:J
.field public final expected:J
# direct methods
.method public constructor <init>(JJ)V
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "File was not written completely. Expected: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ", found: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3, p4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
iput-wide p1, p0, Lcom/facebook/cache/disk/a$d;->expected:J
iput-wide p3, p0, Lcom/facebook/cache/disk/a$d;->actual:J
return-void
.end method

View file

@ -0,0 +1,345 @@
.class final Lcom/facebook/cache/disk/a$e;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/cache/disk/c$b;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "e"
.end annotation
# instance fields
.field final synthetic Fj:Lcom/facebook/cache/disk/a;
.field private final Fm:Ljava/lang/String;
.field final Fn:Ljava/io/File;
# direct methods
.method public constructor <init>(Lcom/facebook/cache/disk/a;Ljava/lang/String;Ljava/io/File;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/a$e;->Fj:Lcom/facebook/cache/disk/a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Lcom/facebook/cache/disk/a$e;->Fm:Ljava/lang/String;
iput-object p3, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
return-void
.end method
# virtual methods
.method public final a(Lcom/facebook/cache/common/h;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
new-instance v0, Ljava/io/FileOutputStream;
iget-object v1, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-direct {v0, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_0
.catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
:try_start_1
new-instance v1, Lcom/facebook/common/d/c;
invoke-direct {v1, v0}, Lcom/facebook/common/d/c;-><init>(Ljava/io/OutputStream;)V
invoke-interface {p1, v1}, Lcom/facebook/cache/common/h;->write(Ljava/io/OutputStream;)V
invoke-virtual {v1}, Lcom/facebook/common/d/c;->flush()V
iget-wide v1, v1, Lcom/facebook/common/d/c;->FS:J
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
iget-object p1, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide v3
cmp-long p1, v3, v1
if-nez p1, :cond_0
return-void
:cond_0
new-instance p1, Lcom/facebook/cache/disk/a$d;
iget-object v0, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v3
invoke-direct {p1, v1, v2, v3, v4}, Lcom/facebook/cache/disk/a$d;-><init>(JJ)V
throw p1
:catchall_0
move-exception p1
invoke-virtual {v0}, Ljava/io/FileOutputStream;->close()V
throw p1
:catch_0
move-exception p1
iget-object v0, p0, Lcom/facebook/cache/disk/a$e;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0}, Lcom/facebook/cache/disk/a;->d(Lcom/facebook/cache/disk/a;)Lcom/facebook/cache/common/a;
sget v0, Lcom/facebook/cache/common/a$a;->EG:I
invoke-static {}, Lcom/facebook/cache/disk/a;->fg()Ljava/lang/Class;
throw p1
.end method
.method public final fh()Lcom/facebook/a/a;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/facebook/cache/disk/a$e;->Fj:Lcom/facebook/cache/disk/a;
iget-object v1, p0, Lcom/facebook/cache/disk/a$e;->Fm:Ljava/lang/String;
invoke-virtual {v0, v1}, Lcom/facebook/cache/disk/a;->am(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
:try_start_0
iget-object v1, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-static {v1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {v0}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-virtual {v0}, Ljava/io/File;->delete()Z
invoke-virtual {v1, v0}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v2
if-nez v2, :cond_3
const/4 v2, 0x0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_1
invoke-virtual {v1}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v3
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_0
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_2
new-instance v2, Ljava/io/FileNotFoundException;
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
goto :goto_0
:cond_0
new-instance v2, Lcom/facebook/common/c/c$c;
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lcom/facebook/common/c/c$c;-><init>(Ljava/lang/String;)V
goto :goto_0
:cond_1
new-instance v2, Lcom/facebook/common/c/c$b;
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-direct {v2, v3}, Lcom/facebook/common/c/c$b;-><init>(Ljava/lang/String;)V
:cond_2
:goto_0
new-instance v3, Lcom/facebook/common/c/c$d;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Unknown error renaming "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " to "
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v3, v0, v2}, Lcom/facebook/common/c/c$d;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v3
:try_end_0
.catch Lcom/facebook/common/c/c$d; {:try_start_0 .. :try_end_0} :catch_0
:cond_3
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_4
iget-object v1, p0, Lcom/facebook/cache/disk/a$e;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v1}, Lcom/facebook/cache/disk/a;->c(Lcom/facebook/cache/disk/a;)Lcom/facebook/common/time/a;
move-result-object v1
invoke-interface {v1}, Lcom/facebook/common/time/a;->now()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/io/File;->setLastModified(J)Z
:cond_4
invoke-static {v0}, Lcom/facebook/a/b;->g(Ljava/io/File;)Lcom/facebook/a/b;
move-result-object v0
return-object v0
:catch_0
move-exception v0
invoke-virtual {v0}, Lcom/facebook/common/c/c$d;->getCause()Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_7
instance-of v2, v1, Lcom/facebook/common/c/c$c;
if-nez v2, :cond_6
instance-of v1, v1, Ljava/io/FileNotFoundException;
if-eqz v1, :cond_5
sget v1, Lcom/facebook/cache/common/a$a;->EH:I
goto :goto_1
:cond_5
sget v1, Lcom/facebook/cache/common/a$a;->EJ:I
goto :goto_1
:cond_6
sget v1, Lcom/facebook/cache/common/a$a;->EI:I
goto :goto_1
:cond_7
sget v1, Lcom/facebook/cache/common/a$a;->EJ:I
:goto_1
iget-object v1, p0, Lcom/facebook/cache/disk/a$e;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v1}, Lcom/facebook/cache/disk/a;->d(Lcom/facebook/cache/disk/a;)Lcom/facebook/cache/common/a;
invoke-static {}, Lcom/facebook/cache/disk/a;->fg()Ljava/lang/Class;
throw v0
.end method
.method public final fi()Z
.locals 1
iget-object v0, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/facebook/cache/disk/a$e;->Fn:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->delete()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
return v0
:cond_1
:goto_0
const/4 v0, 0x1
return v0
.end method

View file

@ -0,0 +1,195 @@
.class final Lcom/facebook/cache/disk/a$f;
.super Ljava/lang/Object;
.source "DefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/common/c/b;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/a;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "f"
.end annotation
# instance fields
.field final synthetic Fj:Lcom/facebook/cache/disk/a;
.field private Fo:Z
# direct methods
.method private constructor <init>(Lcom/facebook/cache/disk/a;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/facebook/cache/disk/a;B)V
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/cache/disk/a$f;-><init>(Lcom/facebook/cache/disk/a;)V
return-void
.end method
# virtual methods
.method public final j(Ljava/io/File;)V
.locals 1
iget-boolean v0, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
if-nez v0, :cond_0
iget-object v0, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0}, Lcom/facebook/cache/disk/a;->a(Lcom/facebook/cache/disk/a;)Ljava/io/File;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
iput-boolean p1, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
:cond_0
return-void
.end method
.method public final k(Ljava/io/File;)V
.locals 9
iget-boolean v0, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
if-eqz v0, :cond_4
iget-object v0, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0, p1}, Lcom/facebook/cache/disk/a;->a(Lcom/facebook/cache/disk/a;Ljava/io/File;)Lcom/facebook/cache/disk/a$c;
move-result-object v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_1
:cond_0
const/4 v1, 0x0
goto :goto_0
:cond_1
iget-object v3, v0, Lcom/facebook/cache/disk/a$c;->type:Ljava/lang/String;
const-string v4, ".tmp"
if-ne v3, v4, :cond_2
invoke-virtual {p1}, Ljava/io/File;->lastModified()J
move-result-wide v3
iget-object v0, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0}, Lcom/facebook/cache/disk/a;->c(Lcom/facebook/cache/disk/a;)Lcom/facebook/common/time/a;
move-result-object v0
invoke-interface {v0}, Lcom/facebook/common/time/a;->now()J
move-result-wide v5
sget-wide v7, Lcom/facebook/cache/disk/a;->Fc:J
sub-long/2addr v5, v7
cmp-long v0, v3, v5
if-lez v0, :cond_0
goto :goto_0
:cond_2
iget-object v0, v0, Lcom/facebook/cache/disk/a$c;->type:Ljava/lang/String;
const-string v3, ".cnt"
if-ne v0, v3, :cond_3
const/4 v2, 0x1
:cond_3
invoke-static {v2}, Lcom/facebook/common/d/i;->checkState(Z)V
:goto_0
if-nez v1, :cond_5
:cond_4
invoke-virtual {p1}, Ljava/io/File;->delete()Z
:cond_5
return-void
.end method
.method public final l(Ljava/io/File;)V
.locals 1
iget-object v0, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0}, Lcom/facebook/cache/disk/a;->b(Lcom/facebook/cache/disk/a;)Ljava/io/File;
move-result-object v0
invoke-virtual {v0, p1}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_0
iget-boolean v0, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
if-nez v0, :cond_0
invoke-virtual {p1}, Ljava/io/File;->delete()Z
:cond_0
iget-boolean v0, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/facebook/cache/disk/a$f;->Fj:Lcom/facebook/cache/disk/a;
invoke-static {v0}, Lcom/facebook/cache/disk/a;->a(Lcom/facebook/cache/disk/a;)Ljava/io/File;
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
const/4 p1, 0x0
iput-boolean p1, p0, Lcom/facebook/cache/disk/a$f;->Fo:Z
:cond_1
return-void
.end method

View file

@ -0,0 +1,73 @@
.class final Lcom/facebook/cache/disk/b$1;
.super Ljava/lang/Object;
.source "DefaultEntryEvictionComparatorSupplier.java"
# interfaces
.implements Lcom/facebook/cache/disk/f;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/cache/disk/b;->fj()Lcom/facebook/cache/disk/f;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic Fp:Lcom/facebook/cache/disk/b;
# direct methods
.method constructor <init>(Lcom/facebook/cache/disk/b;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/b$1;->Fp:Lcom/facebook/cache/disk/b;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 3
check-cast p1, Lcom/facebook/cache/disk/c$a;
check-cast p2, Lcom/facebook/cache/disk/c$a;
invoke-interface {p1}, Lcom/facebook/cache/disk/c$a;->getTimestamp()J
move-result-wide v0
invoke-interface {p2}, Lcom/facebook/cache/disk/c$a;->getTimestamp()J
move-result-wide p1
cmp-long v2, v0, p1
if-gez v2, :cond_0
const/4 p1, -0x1
return p1
:cond_0
cmp-long v2, p1, v0
if-nez v2, :cond_1
const/4 p1, 0x0
return p1
:cond_1
const/4 p1, 0x1
return p1
.end method

View file

@ -0,0 +1,28 @@
.class public final Lcom/facebook/cache/disk/b;
.super Ljava/lang/Object;
.source "DefaultEntryEvictionComparatorSupplier.java"
# interfaces
.implements Lcom/facebook/cache/disk/g;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final fj()Lcom/facebook/cache/disk/f;
.locals 1
new-instance v0, Lcom/facebook/cache/disk/b$1;
invoke-direct {v0, p0}, Lcom/facebook/cache/disk/b$1;-><init>(Lcom/facebook/cache/disk/b;)V
return-object v0
.end method

View file

@ -0,0 +1,25 @@
.class public interface abstract Lcom/facebook/cache/disk/c$a;
.super Ljava/lang/Object;
.source "DiskStorage.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "a"
.end annotation
# virtual methods
.method public abstract getId()Ljava/lang/String;
.end method
.method public abstract getSize()J
.end method
.method public abstract getTimestamp()J
.end method

View file

@ -0,0 +1,35 @@
.class public interface abstract Lcom/facebook/cache/disk/c$b;
.super Ljava/lang/Object;
.source "DiskStorage.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "b"
.end annotation
# virtual methods
.method public abstract a(Lcom/facebook/cache/common/h;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract fh()Lcom/facebook/a/a;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract fi()Z
.end method

View file

@ -0,0 +1,80 @@
.class final Lcom/facebook/cache/disk/d$1;
.super Ljava/lang/Object;
.source "DiskStorageCache.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/cache/disk/d;-><init>(Lcom/facebook/cache/disk/c;Lcom/facebook/cache/disk/g;Lcom/facebook/cache/disk/d$b;Lcom/facebook/cache/common/b;Lcom/facebook/cache/common/a;Ljava/util/concurrent/Executor;Z)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic FQ:Lcom/facebook/cache/disk/d;
# direct methods
.method constructor <init>(Lcom/facebook/cache/disk/d;)V
.locals 0
iput-object p1, p0, Lcom/facebook/cache/disk/d$1;->FQ:Lcom/facebook/cache/disk/d;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final run()V
.locals 2
iget-object v0, p0, Lcom/facebook/cache/disk/d$1;->FQ:Lcom/facebook/cache/disk/d;
invoke-static {v0}, Lcom/facebook/cache/disk/d;->a(Lcom/facebook/cache/disk/d;)Ljava/lang/Object;
move-result-object v0
monitor-enter v0
:try_start_0
iget-object v1, p0, Lcom/facebook/cache/disk/d$1;->FQ:Lcom/facebook/cache/disk/d;
invoke-static {v1}, Lcom/facebook/cache/disk/d;->b(Lcom/facebook/cache/disk/d;)Z
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object v0, p0, Lcom/facebook/cache/disk/d$1;->FQ:Lcom/facebook/cache/disk/d;
invoke-static {v0}, Lcom/facebook/cache/disk/d;->c(Lcom/facebook/cache/disk/d;)Z
iget-object v0, p0, Lcom/facebook/cache/disk/d$1;->FQ:Lcom/facebook/cache/disk/d;
invoke-static {v0}, Lcom/facebook/cache/disk/d;->d(Lcom/facebook/cache/disk/d;)Ljava/util/concurrent/CountDownLatch;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
return-void
:catchall_0
move-exception v1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v1
.end method

View file

@ -0,0 +1,205 @@
.class final Lcom/facebook/cache/disk/d$a;
.super Ljava/lang/Object;
.source "DiskStorageCache.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "a"
.end annotation
# instance fields
.field private FR:J
.field private FS:J
.field private mInitialized:Z
# direct methods
.method constructor <init>()V
.locals 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/facebook/cache/disk/d$a;->mInitialized:Z
const-wide/16 v0, -0x1
iput-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FR:J
iput-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FS:J
return-void
.end method
# virtual methods
.method public final declared-synchronized b(JJ)V
.locals 2
monitor-enter p0
:try_start_0
iget-boolean v0, p0, Lcom/facebook/cache/disk/d$a;->mInitialized:Z
if-eqz v0, :cond_0
iget-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FR:J
add-long/2addr v0, p1
iput-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FR:J
iget-wide p1, p0, Lcom/facebook/cache/disk/d$a;->FS:J
add-long/2addr p1, p3
iput-wide p1, p0, Lcom/facebook/cache/disk/d$a;->FS:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:cond_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public final declared-synchronized getCount()J
.locals 2
monitor-enter p0
:try_start_0
iget-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FS:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-wide v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized getSize()J
.locals 2
monitor-enter p0
:try_start_0
iget-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FR:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-wide v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized isInitialized()Z
.locals 1
monitor-enter p0
:try_start_0
iget-boolean v0, p0, Lcom/facebook/cache/disk/d$a;->mInitialized:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized reset()V
.locals 2
monitor-enter p0
const/4 v0, 0x0
:try_start_0
iput-boolean v0, p0, Lcom/facebook/cache/disk/d$a;->mInitialized:Z
const-wide/16 v0, -0x1
iput-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FS:J
iput-wide v0, p0, Lcom/facebook/cache/disk/d$a;->FR:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized set(JJ)V
.locals 0
monitor-enter p0
:try_start_0
iput-wide p3, p0, Lcom/facebook/cache/disk/d$a;->FS:J
iput-wide p1, p0, Lcom/facebook/cache/disk/d$a;->FR:J
const/4 p1, 0x1
iput-boolean p1, p0, Lcom/facebook/cache/disk/d$a;->mInitialized:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method

View file

@ -0,0 +1,38 @@
.class public final Lcom/facebook/cache/disk/d$b;
.super Ljava/lang/Object;
.source "DiskStorageCache.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/cache/disk/d;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "b"
.end annotation
# instance fields
.field public final FF:J
.field public final FG:J
.field public final FL:J
# direct methods
.method public constructor <init>(JJJ)V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-wide p1, p0, Lcom/facebook/cache/disk/d$b;->FL:J
iput-wide p3, p0, Lcom/facebook/cache/disk/d$b;->FF:J
iput-wide p5, p0, Lcom/facebook/cache/disk/d$b;->FG:J
return-void
.end method

View file

@ -0,0 +1,390 @@
.class public Lcom/facebook/cache/disk/e;
.super Ljava/lang/Object;
.source "DynamicDefaultDiskStorage.java"
# interfaces
.implements Lcom/facebook/cache/disk/c;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/cache/disk/e$a;
}
.end annotation
# static fields
.field private static final Fb:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
# instance fields
.field volatile FT:Lcom/facebook/cache/disk/e$a;
.field private final Fg:Lcom/facebook/cache/common/a;
.field private final Fq:Ljava/lang/String;
.field private final Fr:Lcom/facebook/common/d/k;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/common/d/k<",
"Ljava/io/File;",
">;"
}
.end annotation
.end field
.field private final mVersion:I
# direct methods
.method static constructor <clinit>()V
.locals 1
const-class v0, Lcom/facebook/cache/disk/e;
sput-object v0, Lcom/facebook/cache/disk/e;->Fb:Ljava/lang/Class;
return-void
.end method
.method public constructor <init>(ILcom/facebook/common/d/k;Ljava/lang/String;Lcom/facebook/cache/common/a;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Lcom/facebook/common/d/k<",
"Ljava/io/File;",
">;",
"Ljava/lang/String;",
"Lcom/facebook/cache/common/a;",
")V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Lcom/facebook/cache/disk/e;->mVersion:I
iput-object p4, p0, Lcom/facebook/cache/disk/e;->Fg:Lcom/facebook/cache/common/a;
iput-object p2, p0, Lcom/facebook/cache/disk/e;->Fr:Lcom/facebook/common/d/k;
iput-object p3, p0, Lcom/facebook/cache/disk/e;->Fq:Ljava/lang/String;
new-instance p1, Lcom/facebook/cache/disk/e$a;
const/4 p2, 0x0
invoke-direct {p1, p2, p2}, Lcom/facebook/cache/disk/e$a;-><init>(Ljava/io/File;Lcom/facebook/cache/disk/c;)V
iput-object p1, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
return-void
.end method
.method private declared-synchronized fo()Lcom/facebook/cache/disk/c;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
monitor-enter p0
:try_start_0
iget-object v0, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
iget-object v1, v0, Lcom/facebook/cache/disk/e$a;->FU:Lcom/facebook/cache/disk/c;
if-eqz v1, :cond_1
iget-object v1, v0, Lcom/facebook/cache/disk/e$a;->FV:Ljava/io/File;
if-eqz v1, :cond_1
iget-object v0, v0, Lcom/facebook/cache/disk/e$a;->FV:Ljava/io/File;
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
if-eqz v0, :cond_3
iget-object v0, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
iget-object v0, v0, Lcom/facebook/cache/disk/e$a;->FU:Lcom/facebook/cache/disk/c;
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
iget-object v0, v0, Lcom/facebook/cache/disk/e$a;->FV:Ljava/io/File;
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
iget-object v0, v0, Lcom/facebook/cache/disk/e$a;->FV:Ljava/io/File;
invoke-static {v0}, Lcom/facebook/common/c/a;->n(Ljava/io/File;)Z
:cond_2
new-instance v0, Ljava/io/File;
iget-object v1, p0, Lcom/facebook/cache/disk/e;->Fr:Lcom/facebook/common/d/k;
invoke-interface {v1}, Lcom/facebook/common/d/k;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/io/File;
iget-object v2, p0, Lcom/facebook/cache/disk/e;->Fq:Ljava/lang/String;
invoke-direct {v0, v1, v2}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:try_start_1
invoke-static {v0}, Lcom/facebook/common/c/c;->o(Ljava/io/File;)V
:try_end_1
.catch Lcom/facebook/common/c/c$a; {:try_start_1 .. :try_end_1} :catch_0
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:try_start_2
sget-object v1, Lcom/facebook/cache/disk/e;->Fb:Ljava/lang/Class;
const-string v2, "Created cache directory %s"
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-static {v1, v2, v3}, Lcom/facebook/common/e/a;->b(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
new-instance v1, Lcom/facebook/cache/disk/a;
iget v2, p0, Lcom/facebook/cache/disk/e;->mVersion:I
iget-object v3, p0, Lcom/facebook/cache/disk/e;->Fg:Lcom/facebook/cache/common/a;
invoke-direct {v1, v0, v2, v3}, Lcom/facebook/cache/disk/a;-><init>(Ljava/io/File;ILcom/facebook/cache/common/a;)V
new-instance v2, Lcom/facebook/cache/disk/e$a;
invoke-direct {v2, v0, v1}, Lcom/facebook/cache/disk/e$a;-><init>(Ljava/io/File;Lcom/facebook/cache/disk/c;)V
iput-object v2, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
goto :goto_2
:catch_0
move-exception v0
sget v1, Lcom/facebook/cache/common/a$a;->EK:I
throw v0
:cond_3
:goto_2
iget-object v0, p0, Lcom/facebook/cache/disk/e;->FT:Lcom/facebook/cache/disk/e$a;
iget-object v0, v0, Lcom/facebook/cache/disk/e$a;->FU:Lcom/facebook/cache/disk/c;
invoke-static {v0}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/facebook/cache/disk/c;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
# virtual methods
.method public final a(Lcom/facebook/cache/disk/c$a;)J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0, p1}, Lcom/facebook/cache/disk/c;->a(Lcom/facebook/cache/disk/c$a;)J
move-result-wide v0
return-wide v0
.end method
.method public final ap(Ljava/lang/String;)J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0, p1}, Lcom/facebook/cache/disk/c;->ap(Ljava/lang/String;)J
move-result-wide v0
return-wide v0
.end method
.method public final b(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/cache/disk/c$b;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0, p1, p2}, Lcom/facebook/cache/disk/c;->b(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/cache/disk/c$b;
move-result-object p1
return-object p1
.end method
.method public final c(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/a/a;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0, p1, p2}, Lcom/facebook/cache/disk/c;->c(Ljava/lang/String;Ljava/lang/Object;)Lcom/facebook/a/a;
move-result-object p1
return-object p1
.end method
.method public final fe()V
.locals 3
:try_start_0
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0}, Lcom/facebook/cache/disk/c;->fe()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception v0
sget-object v1, Lcom/facebook/cache/disk/e;->Fb:Ljava/lang/Class;
const-string v2, "purgeUnexpectedResources"
invoke-static {v1, v2, v0}, Lcom/facebook/common/e/a;->b(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public final ff()Ljava/util/Collection;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"Lcom/facebook/cache/disk/c$a;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0}, Lcom/facebook/cache/disk/c;->ff()Ljava/util/Collection;
move-result-object v0
return-object v0
.end method
.method public final isExternal()Z
.locals 1
:try_start_0
invoke-direct {p0}, Lcom/facebook/cache/disk/e;->fo()Lcom/facebook/cache/disk/c;
move-result-object v0
invoke-interface {v0}, Lcom/facebook/cache/disk/c;->isExternal()Z
move-result v0
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return v0
:catch_0
const/4 v0, 0x0
return v0
.end method

View file

@ -0,0 +1,17 @@
.class public interface abstract Lcom/facebook/cache/disk/f;
.super Ljava/lang/Object;
.source "EntryEvictionComparator.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Lcom/facebook/cache/disk/c$a;",
">;"
}
.end annotation

View file

@ -0,0 +1,8 @@
.class public interface abstract Lcom/facebook/cache/disk/g;
.super Ljava/lang/Object;
.source "EntryEvictionComparatorSupplier.java"
# virtual methods
.method public abstract fj()Lcom/facebook/cache/disk/f;
.end method

View file

@ -0,0 +1,183 @@
.class public final Lcom/facebook/cache/disk/i;
.super Ljava/lang/Object;
.source "SettableCacheEvent.java"
# static fields
.field private static final FW:Ljava/lang/Object;
.field private static FX:Lcom/facebook/cache/disk/i;
.field private static FY:I
# instance fields
.field FZ:Lcom/facebook/cache/common/CacheKey;
.field Fm:Ljava/lang/String;
.field Ga:J
.field Gb:J
.field Gc:J
.field Gd:Ljava/io/IOException;
.field Ge:I
.field private Gf:Lcom/facebook/cache/disk/i;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/facebook/cache/disk/i;->FW:Ljava/lang/Object;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static fp()Lcom/facebook/cache/disk/i;
.locals 3
.annotation build Lcom/facebook/infer/annotation/ReturnsOwnership;
.end annotation
sget-object v0, Lcom/facebook/cache/disk/i;->FW:Ljava/lang/Object;
monitor-enter v0
:try_start_0
sget-object v1, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
if-eqz v1, :cond_0
sget-object v1, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
iget-object v2, v1, Lcom/facebook/cache/disk/i;->Gf:Lcom/facebook/cache/disk/i;
sput-object v2, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
const/4 v2, 0x0
iput-object v2, v1, Lcom/facebook/cache/disk/i;->Gf:Lcom/facebook/cache/disk/i;
sget v2, Lcom/facebook/cache/disk/i;->FY:I
add-int/lit8 v2, v2, -0x1
sput v2, Lcom/facebook/cache/disk/i;->FY:I
monitor-exit v0
return-object v1
:cond_0
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
new-instance v0, Lcom/facebook/cache/disk/i;
invoke-direct {v0}, Lcom/facebook/cache/disk/i;-><init>()V
return-object v0
:catchall_0
move-exception v1
:try_start_1
monitor-exit v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v1
.end method
.method private reset()V
.locals 3
const/4 v0, 0x0
iput-object v0, p0, Lcom/facebook/cache/disk/i;->FZ:Lcom/facebook/cache/common/CacheKey;
iput-object v0, p0, Lcom/facebook/cache/disk/i;->Fm:Ljava/lang/String;
const-wide/16 v1, 0x0
iput-wide v1, p0, Lcom/facebook/cache/disk/i;->Ga:J
iput-wide v1, p0, Lcom/facebook/cache/disk/i;->Gb:J
iput-wide v1, p0, Lcom/facebook/cache/disk/i;->Gc:J
iput-object v0, p0, Lcom/facebook/cache/disk/i;->Gd:Ljava/io/IOException;
const/4 v0, 0x0
iput v0, p0, Lcom/facebook/cache/disk/i;->Ge:I
return-void
.end method
# virtual methods
.method public final recycle()V
.locals 3
sget-object v0, Lcom/facebook/cache/disk/i;->FW:Ljava/lang/Object;
monitor-enter v0
:try_start_0
sget v1, Lcom/facebook/cache/disk/i;->FY:I
const/4 v2, 0x5
if-ge v1, v2, :cond_1
invoke-direct {p0}, Lcom/facebook/cache/disk/i;->reset()V
sget v1, Lcom/facebook/cache/disk/i;->FY:I
add-int/lit8 v1, v1, 0x1
sput v1, Lcom/facebook/cache/disk/i;->FY:I
sget-object v1, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
if-eqz v1, :cond_0
sget-object v1, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
iput-object v1, p0, Lcom/facebook/cache/disk/i;->Gf:Lcom/facebook/cache/disk/i;
:cond_0
sput-object p0, Lcom/facebook/cache/disk/i;->FX:Lcom/facebook/cache/disk/i;
:cond_1
monitor-exit v0
return-void
:catchall_0
move-exception v1
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v1
.end method

View file

@ -0,0 +1,102 @@
.class public final Lcom/facebook/common/b/a;
.super Ljava/util/concurrent/AbstractExecutorService;
.source "CallerThreadExecutor.java"
# static fields
.field private static final Gh:Lcom/facebook/common/b/a;
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/common/b/a;
invoke-direct {v0}, Lcom/facebook/common/b/a;-><init>()V
sput-object v0, Lcom/facebook/common/b/a;->Gh:Lcom/facebook/common/b/a;
return-void
.end method
.method private constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/util/concurrent/AbstractExecutorService;-><init>()V
return-void
.end method
.method public static fr()Lcom/facebook/common/b/a;
.locals 1
sget-object v0, Lcom/facebook/common/b/a;->Gh:Lcom/facebook/common/b/a;
return-object v0
.end method
# virtual methods
.method public final awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
const/4 p1, 0x1
return p1
.end method
.method public final execute(Ljava/lang/Runnable;)V
.locals 0
invoke-interface {p1}, Ljava/lang/Runnable;->run()V
return-void
.end method
.method public final isShutdown()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public final isTerminated()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public final shutdown()V
.locals 0
return-void
.end method
.method public final shutdownNow()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
invoke-virtual {p0}, Lcom/facebook/common/b/a;->shutdown()V
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object v0
return-object v0
.end method

View file

@ -0,0 +1,184 @@
.class final Lcom/facebook/common/b/b$a;
.super Ljava/lang/Object;
.source "ConstrainedExecutorService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/b/b;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "a"
.end annotation
# instance fields
.field final synthetic Gn:Lcom/facebook/common/b/b;
# direct methods
.method private constructor <init>(Lcom/facebook/common/b/b;)V
.locals 0
iput-object p1, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/facebook/common/b/b;B)V
.locals 0
invoke-direct {p0, p1}, Lcom/facebook/common/b/b$a;-><init>(Lcom/facebook/common/b/b;)V
return-void
.end method
# virtual methods
.method public final run()V
.locals 5
const-string v0, "%s: worker finished; %d workers left"
:try_start_0
iget-object v1, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v1}, Lcom/facebook/common/b/b;->a(Lcom/facebook/common/b/b;)Ljava/util/concurrent/BlockingQueue;
move-result-object v1
invoke-interface {v1}, Ljava/util/concurrent/BlockingQueue;->poll()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Runnable;
if-eqz v1, :cond_0
invoke-interface {v1}, Ljava/lang/Runnable;->run()V
goto :goto_0
:cond_0
invoke-static {}, Lcom/facebook/common/b/b;->ft()Ljava/lang/Class;
move-result-object v1
const-string v2, "%s: Worker has nothing to run"
iget-object v3, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v3}, Lcom/facebook/common/b/b;->b(Lcom/facebook/common/b/b;)Ljava/lang/String;
move-result-object v3
invoke-static {v1, v2, v3}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:goto_0
iget-object v1, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v1}, Lcom/facebook/common/b/b;->c(Lcom/facebook/common/b/b;)Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v1
iget-object v2, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v2}, Lcom/facebook/common/b/b;->a(Lcom/facebook/common/b/b;)Ljava/util/concurrent/BlockingQueue;
move-result-object v2
invoke-interface {v2}, Ljava/util/concurrent/BlockingQueue;->isEmpty()Z
move-result v2
if-nez v2, :cond_1
iget-object v0, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v0}, Lcom/facebook/common/b/b;->d(Lcom/facebook/common/b/b;)V
return-void
:cond_1
invoke-static {}, Lcom/facebook/common/b/b;->ft()Ljava/lang/Class;
move-result-object v2
iget-object v3, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v3}, Lcom/facebook/common/b/b;->b(Lcom/facebook/common/b/b;)Ljava/lang/String;
move-result-object v3
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-static {v2, v0, v3, v1}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
return-void
:catchall_0
move-exception v1
iget-object v2, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v2}, Lcom/facebook/common/b/b;->c(Lcom/facebook/common/b/b;)Ljava/util/concurrent/atomic/AtomicInteger;
move-result-object v2
invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
move-result v2
iget-object v3, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v3}, Lcom/facebook/common/b/b;->a(Lcom/facebook/common/b/b;)Ljava/util/concurrent/BlockingQueue;
move-result-object v3
invoke-interface {v3}, Ljava/util/concurrent/BlockingQueue;->isEmpty()Z
move-result v3
if-nez v3, :cond_2
iget-object v0, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v0}, Lcom/facebook/common/b/b;->d(Lcom/facebook/common/b/b;)V
goto :goto_1
:cond_2
invoke-static {}, Lcom/facebook/common/b/b;->ft()Ljava/lang/Class;
move-result-object v3
iget-object v4, p0, Lcom/facebook/common/b/b$a;->Gn:Lcom/facebook/common/b/b;
invoke-static {v4}, Lcom/facebook/common/b/b;->b(Lcom/facebook/common/b/b;)Ljava/lang/String;
move-result-object v4
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-static {v3, v0, v4, v2}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
:goto_1
throw v1
.end method

View file

@ -0,0 +1,371 @@
.class public Lcom/facebook/common/b/b;
.super Ljava/util/concurrent/AbstractExecutorService;
.source "ConstrainedExecutorService.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/common/b/b$a;
}
.end annotation
# static fields
.field private static final Fb:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
# instance fields
.field private volatile Gi:I
.field private final Gj:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
.end field
.field private final Gk:Lcom/facebook/common/b/b$a;
.field private final Gl:Ljava/util/concurrent/atomic/AtomicInteger;
.field private final Gm:Ljava/util/concurrent/atomic/AtomicInteger;
.field private final mExecutor:Ljava/util/concurrent/Executor;
.field private final mName:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-class v0, Lcom/facebook/common/b/b;
sput-object v0, Lcom/facebook/common/b/b;->Fb:Ljava/lang/Class;
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/concurrent/BlockingQueue;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/util/concurrent/Executor;",
"Ljava/util/concurrent/BlockingQueue<",
"Ljava/lang/Runnable;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/util/concurrent/AbstractExecutorService;-><init>()V
iput-object p1, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
iput-object p2, p0, Lcom/facebook/common/b/b;->mExecutor:Ljava/util/concurrent/Executor;
const/4 p1, 0x1
iput p1, p0, Lcom/facebook/common/b/b;->Gi:I
iput-object p3, p0, Lcom/facebook/common/b/b;->Gj:Ljava/util/concurrent/BlockingQueue;
new-instance p1, Lcom/facebook/common/b/b$a;
const/4 p2, 0x0
invoke-direct {p1, p0, p2}, Lcom/facebook/common/b/b$a;-><init>(Lcom/facebook/common/b/b;B)V
iput-object p1, p0, Lcom/facebook/common/b/b;->Gk:Lcom/facebook/common/b/b$a;
new-instance p1, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {p1, p2}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
iput-object p1, p0, Lcom/facebook/common/b/b;->Gl:Ljava/util/concurrent/atomic/AtomicInteger;
new-instance p1, Ljava/util/concurrent/atomic/AtomicInteger;
invoke-direct {p1, p2}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
iput-object p1, p0, Lcom/facebook/common/b/b;->Gm:Ljava/util/concurrent/atomic/AtomicInteger;
return-void
.end method
.method static synthetic a(Lcom/facebook/common/b/b;)Ljava/util/concurrent/BlockingQueue;
.locals 0
iget-object p0, p0, Lcom/facebook/common/b/b;->Gj:Ljava/util/concurrent/BlockingQueue;
return-object p0
.end method
.method static synthetic b(Lcom/facebook/common/b/b;)Ljava/lang/String;
.locals 0
iget-object p0, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
return-object p0
.end method
.method static synthetic c(Lcom/facebook/common/b/b;)Ljava/util/concurrent/atomic/AtomicInteger;
.locals 0
iget-object p0, p0, Lcom/facebook/common/b/b;->Gl:Ljava/util/concurrent/atomic/AtomicInteger;
return-object p0
.end method
.method static synthetic d(Lcom/facebook/common/b/b;)V
.locals 0
invoke-direct {p0}, Lcom/facebook/common/b/b;->fs()V
return-void
.end method
.method private fs()V
.locals 5
iget-object v0, p0, Lcom/facebook/common/b/b;->Gl:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
:goto_0
iget v1, p0, Lcom/facebook/common/b/b;->Gi:I
if-ge v0, v1, :cond_1
add-int/lit8 v1, v0, 0x1
iget-object v2, p0, Lcom/facebook/common/b/b;->Gl:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/b/b;->Fb:Ljava/lang/Class;
iget-object v2, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
iget v3, p0, Lcom/facebook/common/b/b;->Gi:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const-string v4, "%s: starting worker %d of %d"
invoke-static {v0, v4, v2, v1, v3}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
iget-object v0, p0, Lcom/facebook/common/b/b;->mExecutor:Ljava/util/concurrent/Executor;
iget-object v1, p0, Lcom/facebook/common/b/b;->Gk:Lcom/facebook/common/b/b$a;
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
:cond_0
sget-object v0, Lcom/facebook/common/b/b;->Fb:Ljava/lang/Class;
iget-object v1, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
const-string v2, "%s: race in startWorkerIfNeeded; retrying"
invoke-static {v0, v2, v1}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
iget-object v0, p0, Lcom/facebook/common/b/b;->Gl:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
goto :goto_0
:cond_1
return-void
.end method
.method static synthetic ft()Ljava/lang/Class;
.locals 1
sget-object v0, Lcom/facebook/common/b/b;->Fb:Ljava/lang/Class;
return-object v0
.end method
# virtual methods
.method public awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public execute(Ljava/lang/Runnable;)V
.locals 3
if-eqz p1, :cond_2
iget-object v0, p0, Lcom/facebook/common/b/b;->Gj:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v0, p1}, Ljava/util/concurrent/BlockingQueue;->offer(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_1
iget-object p1, p0, Lcom/facebook/common/b/b;->Gj:Ljava/util/concurrent/BlockingQueue;
invoke-interface {p1}, Ljava/util/concurrent/BlockingQueue;->size()I
move-result p1
iget-object v0, p0, Lcom/facebook/common/b/b;->Gm:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
move-result v0
if-le p1, v0, :cond_0
iget-object v1, p0, Lcom/facebook/common/b/b;->Gm:Ljava/util/concurrent/atomic/AtomicInteger;
invoke-virtual {v1, v0, p1}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/b/b;->Fb:Ljava/lang/Class;
iget-object v1, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
const-string v2, "%s: max pending work in queue = %d"
invoke-static {v0, v2, v1, p1}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
:cond_0
invoke-direct {p0}, Lcom/facebook/common/b/b;->fs()V
return-void
:cond_1
new-instance p1, Ljava/util/concurrent/RejectedExecutionException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/facebook/common/b/b;->mName:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " queue is full, size="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lcom/facebook/common/b/b;->Gj:Ljava/util/concurrent/BlockingQueue;
invoke-interface {v1}, Ljava/util/concurrent/BlockingQueue;->size()I
move-result v1
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/util/concurrent/RejectedExecutionException;-><init>(Ljava/lang/String;)V
throw p1
:cond_2
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "runnable parameter is null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public isShutdown()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public isTerminated()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
.method public shutdown()V
.locals 1
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
.method public shutdownNow()Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/Runnable;",
">;"
}
.end annotation
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method

View file

@ -0,0 +1,46 @@
.class public final Lcom/facebook/common/b/c;
.super Lcom/facebook/common/b/b;
.source "DefaultSerialExecutorService.java"
# interfaces
.implements Lcom/facebook/common/b/g;
# direct methods
.method public constructor <init>(Ljava/util/concurrent/Executor;)V
.locals 2
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
const-string v1, "SerialExecutor"
invoke-direct {p0, v1, p1, v0}, Lcom/facebook/common/b/b;-><init>(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/concurrent/BlockingQueue;)V
return-void
.end method
# virtual methods
.method public final declared-synchronized execute(Ljava/lang/Runnable;)V
.locals 0
monitor-enter p0
:try_start_0
invoke-super {p0, p1}, Lcom/facebook/common/b/b;->execute(Ljava/lang/Runnable;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method

View file

@ -0,0 +1,5 @@
.class public interface abstract Lcom/facebook/common/b/g;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/util/concurrent/ExecutorService;

View file

@ -0,0 +1,102 @@
.class public final Lcom/facebook/common/c/a;
.super Ljava/lang/Object;
.source "FileTree.java"
# direct methods
.method public static a(Ljava/io/File;Lcom/facebook/common/c/b;)V
.locals 5
invoke-interface {p1, p0}, Lcom/facebook/common/c/b;->j(Ljava/io/File;)V
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
if-eqz v0, :cond_1
array-length v1, v0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_1
aget-object v3, v0, v2
invoke-virtual {v3}, Ljava/io/File;->isDirectory()Z
move-result v4
if-eqz v4, :cond_0
invoke-static {v3, p1}, Lcom/facebook/common/c/a;->a(Ljava/io/File;Lcom/facebook/common/c/b;)V
goto :goto_1
:cond_0
invoke-interface {p1, v3}, Lcom/facebook/common/c/b;->k(Ljava/io/File;)V
:goto_1
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
invoke-interface {p1, p0}, Lcom/facebook/common/c/b;->l(Ljava/io/File;)V
return-void
.end method
.method private static deleteContents(Ljava/io/File;)Z
.locals 4
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object p0
const/4 v0, 0x1
if-eqz p0, :cond_0
array-length v1, p0
const/4 v2, 0x0
:goto_0
if-ge v2, v1, :cond_0
aget-object v3, p0, v2
invoke-static {v3}, Lcom/facebook/common/c/a;->n(Ljava/io/File;)Z
move-result v3
and-int/2addr v0, v3
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return v0
.end method
.method public static n(Ljava/io/File;)Z
.locals 1
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
invoke-static {p0}, Lcom/facebook/common/c/a;->deleteContents(Ljava/io/File;)Z
:cond_0
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result p0
return p0
.end method

View file

@ -0,0 +1,14 @@
.class public interface abstract Lcom/facebook/common/c/b;
.super Ljava/lang/Object;
.source "FileTreeVisitor.java"
# virtual methods
.method public abstract j(Ljava/io/File;)V
.end method
.method public abstract k(Ljava/io/File;)V
.end method
.method public abstract l(Ljava/io/File;)V
.end method

View file

@ -0,0 +1,34 @@
.class public final Lcom/facebook/common/c/c$a;
.super Ljava/io/IOException;
.source "FileUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/c/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "a"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 0
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p2}, Lcom/facebook/common/c/c$a;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
return-void
.end method

View file

@ -0,0 +1,24 @@
.class public final Lcom/facebook/common/c/c$b;
.super Ljava/io/IOException;
.source "FileUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/c/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "b"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
return-void
.end method

View file

@ -0,0 +1,24 @@
.class public final Lcom/facebook/common/c/c$c;
.super Ljava/io/FileNotFoundException;
.source "FileUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/c/c;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "c"
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
return-void
.end method

View file

@ -0,0 +1,98 @@
.class public final Lcom/facebook/common/c/c;
.super Ljava/lang/Object;
.source "FileUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/facebook/common/c/c$d;,
Lcom/facebook/common/c/c$b;,
Lcom/facebook/common/c/c$c;,
Lcom/facebook/common/c/c$a;
}
.end annotation
# direct methods
.method public static o(Ljava/io/File;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/facebook/common/c/c$a;
}
.end annotation
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_2
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
return-void
:cond_0
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v0
if-eqz v0, :cond_1
goto :goto_0
:cond_1
new-instance v0, Lcom/facebook/common/c/c$a;
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
new-instance v2, Lcom/facebook/common/c/c$b;
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p0
invoke-direct {v2, p0}, Lcom/facebook/common/c/c$b;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1, v2}, Lcom/facebook/common/c/c$a;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v0
:cond_2
:goto_0
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
move-result v0
if-nez v0, :cond_4
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_3
goto :goto_1
:cond_3
new-instance v0, Lcom/facebook/common/c/c$a;
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Lcom/facebook/common/c/c$a;-><init>(Ljava/lang/String;)V
throw v0
:cond_4
:goto_1
return-void
.end method

View file

@ -0,0 +1,100 @@
.class public final Lcom/facebook/common/d/a;
.super Ljava/lang/Object;
.source "ByteStreams.java"
# direct methods
.method public static a(Ljava/io/InputStream;[BI)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-static {p0}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
if-ltz p2, :cond_1
const/4 v0, 0x0
:goto_0
if-ge v0, p2, :cond_0
add-int/lit8 v1, v0, 0x0
sub-int v2, p2, v0
invoke-virtual {p0, p1, v1, v2}, Ljava/io/InputStream;->read([BII)I
move-result v1
const/4 v2, -0x1
if-eq v1, v2, :cond_0
add-int/2addr v0, v1
goto :goto_0
:cond_0
return v0
:cond_1
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
const-string p1, "len is negative"
invoke-direct {p0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
goto :goto_2
:goto_1
throw p0
:goto_2
goto :goto_1
.end method
.method public static a(Ljava/io/InputStream;Ljava/io/OutputStream;)J
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-static {p0}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/16 v0, 0x1000
new-array v0, v0, [B
const-wide/16 v1, 0x0
:goto_0
invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-eq v3, v4, :cond_0
const/4 v4, 0x0
invoke-virtual {p1, v0, v4, v3}, Ljava/io/OutputStream;->write([BII)V
int-to-long v3, v3
add-long/2addr v1, v3
goto :goto_0
:cond_0
return-wide v1
.end method

View file

@ -0,0 +1,84 @@
.class public final Lcom/facebook/common/d/c;
.super Ljava/io/FilterOutputStream;
.source "CountingOutputStream.java"
# instance fields
.field public FS:J
# direct methods
.method public constructor <init>(Ljava/io/OutputStream;)V
.locals 2
invoke-direct {p0, p1}, Ljava/io/FilterOutputStream;-><init>(Ljava/io/OutputStream;)V
const-wide/16 v0, 0x0
iput-wide v0, p0, Lcom/facebook/common/d/c;->FS:J
return-void
.end method
# virtual methods
.method public final close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/facebook/common/d/c;->out:Ljava/io/OutputStream;
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
return-void
.end method
.method public final write(I)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/facebook/common/d/c;->out:Ljava/io/OutputStream;
invoke-virtual {v0, p1}, Ljava/io/OutputStream;->write(I)V
iget-wide v0, p0, Lcom/facebook/common/d/c;->FS:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/facebook/common/d/c;->FS:J
return-void
.end method
.method public final write([BII)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcom/facebook/common/d/c;->out:Ljava/io/OutputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/OutputStream;->write([BII)V
iget-wide p1, p0, Lcom/facebook/common/d/c;->FS:J
int-to-long v0, p3
add-long/2addr p1, v0
iput-wide p1, p0, Lcom/facebook/common/d/c;->FS:J
return-void
.end method

View file

@ -0,0 +1,50 @@
.class public final Lcom/facebook/common/d/e;
.super Ljava/util/ArrayList;
.source "ImmutableList.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">",
"Ljava/util/ArrayList<",
"TE;>;"
}
.end annotation
# direct methods
.method private constructor <init>(I)V
.locals 0
const/4 p1, 0x4
invoke-direct {p0, p1}, Ljava/util/ArrayList;-><init>(I)V
return-void
.end method
.method public static varargs b([Ljava/lang/Object;)Lcom/facebook/common/d/e;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">([TE;)",
"Lcom/facebook/common/d/e<",
"TE;>;"
}
.end annotation
new-instance v0, Lcom/facebook/common/d/e;
const/4 v1, 0x4
invoke-direct {v0, v1}, Lcom/facebook/common/d/e;-><init>(I)V
invoke-static {v0, p0}, Ljava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z
return-object v0
.end method

View file

@ -0,0 +1,117 @@
.class public final Lcom/facebook/common/d/f;
.super Ljava/util/HashMap;
.source "ImmutableMap.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/util/HashMap<",
"TK;TV;>;"
}
.end annotation
# direct methods
.method private constructor <init>(Ljava/util/Map;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"+TK;+TV;>;)V"
}
.end annotation
invoke-direct {p0, p1}, Ljava/util/HashMap;-><init>(Ljava/util/Map;)V
return-void
.end method
.method public static a(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">(TK;TV;TK;TV;)",
"Ljava/util/Map<",
"TK;TV;>;"
}
.end annotation
new-instance v0, Ljava/util/HashMap;
const/4 v1, 0x2
invoke-direct {v0, v1}, Ljava/util/HashMap;-><init>(I)V
invoke-interface {v0, p0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-interface {v0, p2, p3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method
.method public static c(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">(TK;TV;)",
"Ljava/util/Map<",
"TK;TV;>;"
}
.end annotation
new-instance v0, Ljava/util/HashMap;
const/4 v1, 0x1
invoke-direct {v0, v1}, Ljava/util/HashMap;-><init>(I)V
invoke-interface {v0, p0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invoke-static {v0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method
.method public static m(Ljava/util/Map;)Lcom/facebook/common/d/f;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Map<",
"+TK;+TV;>;)",
"Lcom/facebook/common/d/f<",
"TK;TV;>;"
}
.end annotation
new-instance v0, Lcom/facebook/common/d/f;
invoke-direct {v0, p0}, Lcom/facebook/common/d/f;-><init>(Ljava/util/Map;)V
return-object v0
.end method

View file

@ -0,0 +1,36 @@
.class public final Lcom/facebook/common/d/g;
.super Ljava/lang/Object;
.source "Ints.java"
# direct methods
.method public static varargs c([I)I
.locals 3
const/4 v0, 0x1
invoke-static {v0}, Lcom/facebook/common/d/i;->checkArgument(Z)V
const/4 v1, 0x0
aget v1, p0, v1
:goto_0
const/16 v2, 0x8
if-ge v0, v2, :cond_1
aget v2, p0, v0
if-le v2, v1, :cond_0
aget v1, p0, v0
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
:cond_1
return v1
.end method

View file

@ -0,0 +1,14 @@
.class public interface abstract Lcom/facebook/common/d/j;
.super Ljava/lang/Object;
.source "Predicate.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation

View file

@ -0,0 +1,56 @@
.class final Lcom/facebook/common/d/l$1;
.super Ljava/lang/Object;
.source "Suppliers.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/common/d/l;->y(Ljava/lang/Object;)Lcom/facebook/common/d/k;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"TT;>;"
}
.end annotation
# instance fields
.field final synthetic Gx:Ljava/lang/Object;
# direct methods
.method constructor <init>(Ljava/lang/Object;)V
.locals 0
iput-object p1, p0, Lcom/facebook/common/d/l$1;->Gx:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final get()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
iget-object v0, p0, Lcom/facebook/common/d/l$1;->Gx:Ljava/lang/Object;
return-object v0
.end method

View file

@ -0,0 +1,46 @@
.class final Lcom/facebook/common/d/l$2;
.super Ljava/lang/Object;
.source "Suppliers.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/d/l;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final bridge synthetic get()Ljava/lang/Object;
.locals 1
sget-object v0, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
return-object v0
.end method

View file

@ -0,0 +1,46 @@
.class final Lcom/facebook/common/d/l$3;
.super Ljava/lang/Object;
.source "Suppliers.java"
# interfaces
.implements Lcom/facebook/common/d/k;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/facebook/common/d/l;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/d/k<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
# direct methods
.method constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final bridge synthetic get()Ljava/lang/Object;
.locals 1
sget-object v0, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
return-object v0
.end method

View file

@ -0,0 +1,64 @@
.class public final Lcom/facebook/common/d/l;
.super Ljava/lang/Object;
.source "Suppliers.java"
# static fields
.field public static final Gv:Lcom/facebook/common/d/k;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/common/d/k<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
.field public static final Gw:Lcom/facebook/common/d/k;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/common/d/k<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/common/d/l$2;
invoke-direct {v0}, Lcom/facebook/common/d/l$2;-><init>()V
sput-object v0, Lcom/facebook/common/d/l;->Gv:Lcom/facebook/common/d/k;
new-instance v0, Lcom/facebook/common/d/l$3;
invoke-direct {v0}, Lcom/facebook/common/d/l$3;-><init>()V
sput-object v0, Lcom/facebook/common/d/l;->Gw:Lcom/facebook/common/d/k;
return-void
.end method
.method public static y(Ljava/lang/Object;)Lcom/facebook/common/d/k;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;)",
"Lcom/facebook/common/d/k<",
"TT;>;"
}
.end annotation
new-instance v0, Lcom/facebook/common/d/l$1;
invoke-direct {v0, p0}, Lcom/facebook/common/d/l$1;-><init>(Ljava/lang/Object;)V
return-object v0
.end method

View file

@ -0,0 +1,918 @@
.class public final Lcom/facebook/common/e/a;
.super Ljava/lang/Object;
.source "FLog.java"
# static fields
.field private static Gy:Lcom/facebook/common/e/c;
# direct methods
.method static constructor <clinit>()V
.locals 1
invoke-static {}, Lcom/facebook/common/e/b;->fx()Lcom/facebook/common/e/b;
move-result-object v0
sput-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
return-void
.end method
.method public static I(I)Z
.locals 1
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0}, Lcom/facebook/common/e/c;->I(I)Z
move-result p0
return p0
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const/4 p2, 0x0
invoke-static {p2, p1, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const/4 p2, 0x1
aput-object p3, v1, p2
const/4 p2, 0x0
invoke-static {p2, p1, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")V"
}
.end annotation
const/4 v0, 0x2
invoke-static {v0}, Lcom/facebook/common/e/a;->I(I)Z
move-result v1
if-eqz v1, :cond_0
const/4 v1, 0x3
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const/4 p2, 0x1
aput-object p3, v1, p2
aput-object p4, v1, v0
const/4 p2, 0x0
invoke-static {p2, p1, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v2, 0x4
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p2, v2, v3
const/4 p2, 0x1
aput-object p3, v2, p2
aput-object p4, v2, v1
const/4 p2, 0x3
aput-object p5, v2, p2
const/4 p2, 0x0
invoke-static {p2, p1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x5
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1, p2}, Lcom/facebook/common/e/c;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs a(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static varargs a(Ljava/lang/Class;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Throwable;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")V"
}
.end annotation
const/4 v0, 0x5
invoke-static {v0}, Lcom/facebook/common/e/a;->I(I)Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, 0x0
invoke-static {v0, p2, p3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-static {p0, p2, p1}, Lcom/facebook/common/e/a;->a(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs a(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x2
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->v(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static b(Ljava/lang/Class;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x5
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static b(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x3
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
aput-object p2, v1, v2
const/4 p2, 0x0
invoke-static {p2, p1, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static b(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1, p2}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs b(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x5
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static varargs b(Ljava/lang/Class;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Throwable;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-static {v1, p2, p3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-interface {v0, p0, p2, p1}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs b(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x5
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static c(Ljava/lang/Class;Ljava/lang/String;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static c(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"Ljava/lang/Throwable;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-interface {v0, p0, p1, p2}, Lcom/facebook/common/e/c;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs c(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")V"
}
.end annotation
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static varargs c(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x3
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x3
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0, p1, p2}, Lcom/facebook/common/e/c;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static varargs d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x0
invoke-static {v1, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->t(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static e(Ljava/lang/String;Ljava/lang/String;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method
.method public static e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0, p1, p2}, Lcom/facebook/common/e/c;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public static t(Ljava/lang/String;Ljava/lang/String;)V
.locals 2
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
const/4 v1, 0x6
invoke-interface {v0, v1}, Lcom/facebook/common/e/c;->I(I)Z
move-result v0
if-eqz v0, :cond_0
sget-object v0, Lcom/facebook/common/e/a;->Gy:Lcom/facebook/common/e/c;
invoke-interface {v0, p0, p1}, Lcom/facebook/common/e/c;->t(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
return-void
.end method

View file

@ -0,0 +1,273 @@
.class public final Lcom/facebook/common/e/b;
.super Ljava/lang/Object;
.source "FLogDefaultLoggingDelegate.java"
# interfaces
.implements Lcom/facebook/common/e/c;
# static fields
.field public static final Gz:Lcom/facebook/common/e/b;
# instance fields
.field private GA:Ljava/lang/String;
.field private GB:I
# direct methods
.method static constructor <clinit>()V
.locals 1
new-instance v0, Lcom/facebook/common/e/b;
invoke-direct {v0}, Lcom/facebook/common/e/b;-><init>()V
sput-object v0, Lcom/facebook/common/e/b;->Gz:Lcom/facebook/common/e/b;
return-void
.end method
.method private constructor <init>()V
.locals 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "unknown"
iput-object v0, p0, Lcom/facebook/common/e/b;->GA:Ljava/lang/String;
const/4 v0, 0x5
iput v0, p0, Lcom/facebook/common/e/b;->GB:I
return-void
.end method
.method private a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 0
invoke-direct {p0, p2}, Lcom/facebook/common/e/b;->ar(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-static {p3, p4}, Lcom/facebook/common/e/b;->c(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object p3
invoke-static {p1, p2, p3}, Landroid/util/Log;->println(ILjava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method private ar(Ljava/lang/String;)Ljava/lang/String;
.locals 2
iget-object v0, p0, Lcom/facebook/common/e/b;->GA:Ljava/lang/String;
if-eqz v0, :cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lcom/facebook/common/e/b;->GA:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ":"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:cond_0
return-object p1
.end method
.method private static c(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
.locals 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 p0, 0xa
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {p1}, Lcom/facebook/common/e/b;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private c(ILjava/lang/String;Ljava/lang/String;)V
.locals 0
invoke-direct {p0, p2}, Lcom/facebook/common/e/b;->ar(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-static {p1, p2, p3}, Landroid/util/Log;->println(ILjava/lang/String;Ljava/lang/String;)I
return-void
.end method
.method public static fx()Lcom/facebook/common/e/b;
.locals 1
sget-object v0, Lcom/facebook/common/e/b;->Gz:Lcom/facebook/common/e/b;
return-object v0
.end method
.method private static getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
.locals 2
if-nez p0, :cond_0
const-string p0, ""
return-object p0
:cond_0
new-instance v0, Ljava/io/StringWriter;
invoke-direct {v0}, Ljava/io/StringWriter;-><init>()V
new-instance v1, Ljava/io/PrintWriter;
invoke-direct {v1, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
invoke-virtual {p0, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
invoke-virtual {v0}, Ljava/io/StringWriter;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final I(I)Z
.locals 1
iget v0, p0, Lcom/facebook/common/e/b;->GB:I
if-gt v0, p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public final a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
const/4 v0, 0x6
invoke-direct {p0, v0, p1, p2, p3}, Lcom/facebook/common/e/b;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public final d(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
const/4 v0, 0x3
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/common/e/b;->c(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
const/4 v0, 0x3
invoke-direct {p0, v0, p1, p2, p3}, Lcom/facebook/common/e/b;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public final e(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
const/4 v0, 0x6
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/common/e/b;->c(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
const/4 v0, 0x6
invoke-direct {p0, v0, p1, p2, p3}, Lcom/facebook/common/e/b;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public final t(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
const/4 v0, 0x6
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/common/e/b;->c(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final v(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
const/4 v0, 0x2
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/common/e/b;->c(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final w(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
const/4 v0, 0x5
invoke-direct {p0, v0, p1, p2}, Lcom/facebook/common/e/b;->c(ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public final w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
const/4 v0, 0x5
invoke-direct {p0, v0, p1, p2, p3}, Lcom/facebook/common/e/b;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method

View file

@ -0,0 +1,35 @@
.class public interface abstract Lcom/facebook/common/e/c;
.super Ljava/lang/Object;
.source "LoggingDelegate.java"
# virtual methods
.method public abstract I(I)Z
.end method
.method public abstract a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.end method
.method public abstract d(Ljava/lang/String;Ljava/lang/String;)V
.end method
.method public abstract d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.end method
.method public abstract e(Ljava/lang/String;Ljava/lang/String;)V
.end method
.method public abstract e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.end method
.method public abstract t(Ljava/lang/String;Ljava/lang/String;)V
.end method
.method public abstract v(Ljava/lang/String;Ljava/lang/String;)V
.end method
.method public abstract w(Ljava/lang/String;Ljava/lang/String;)V
.end method
.method public abstract w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.end method

View file

@ -0,0 +1,88 @@
.class public final Lcom/facebook/common/f/b;
.super Ljava/lang/Object;
.source "MimeTypeMapWrapper.java"
# static fields
.field private static final GD:Landroid/webkit/MimeTypeMap;
.field private static final GE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static final GF:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 5
invoke-static {}, Landroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
move-result-object v0
sput-object v0, Lcom/facebook/common/f/b;->GD:Landroid/webkit/MimeTypeMap;
const-string v0, "heic"
const-string v1, "image/heic"
const-string v2, "heif"
const-string v3, "image/heif"
invoke-static {v3, v2, v1, v0}, Lcom/facebook/common/d/f;->a(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
move-result-object v4
sput-object v4, Lcom/facebook/common/f/b;->GE:Ljava/util/Map;
invoke-static {v2, v3, v0, v1}, Lcom/facebook/common/d/f;->a(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
move-result-object v0
sput-object v0, Lcom/facebook/common/f/b;->GF:Ljava/util/Map;
return-void
.end method
.method public static getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
.locals 1
sget-object v0, Lcom/facebook/common/f/b;->GF:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
if-eqz v0, :cond_0
return-object v0
:cond_0
sget-object v0, Lcom/facebook/common/f/b;->GD:Landroid/webkit/MimeTypeMap;
invoke-virtual {v0, p0}, Landroid/webkit/MimeTypeMap;->getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method

View file

@ -0,0 +1,16 @@
.class public interface abstract Lcom/facebook/common/g/a;
.super Ljava/lang/Object;
.source "ByteArrayPool.java"
# interfaces
.implements Lcom/facebook/common/g/d;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/facebook/common/g/d<",
"[B>;"
}
.end annotation

View file

@ -0,0 +1,3 @@
.class public interface abstract Lcom/facebook/common/g/b;
.super Ljava/lang/Object;
.source "MemoryTrimmableRegistry.java"

View file

@ -0,0 +1,61 @@
.class public final Lcom/facebook/common/g/c;
.super Ljava/lang/Object;
.source "NoOpMemoryTrimmableRegistry.java"
# interfaces
.implements Lcom/facebook/common/g/b;
# static fields
.field private static GG:Lcom/facebook/common/g/c;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static declared-synchronized fy()Lcom/facebook/common/g/c;
.locals 2
const-class v0, Lcom/facebook/common/g/c;
monitor-enter v0
:try_start_0
sget-object v1, Lcom/facebook/common/g/c;->GG:Lcom/facebook/common/g/c;
if-nez v1, :cond_0
new-instance v1, Lcom/facebook/common/g/c;
invoke-direct {v1}, Lcom/facebook/common/g/c;-><init>()V
sput-object v1, Lcom/facebook/common/g/c;->GG:Lcom/facebook/common/g/c;
:cond_0
sget-object v1, Lcom/facebook/common/g/c;->GG:Lcom/facebook/common/g/c;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit v0
return-object v1
:catchall_0
move-exception v1
monitor-exit v0
throw v1
.end method

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