apkfuckery/com.discord/smali_classes2/com/esotericsoftware/kryo/util/UnsafeUtil$1.smali
2020-05-17 12:40:10 +00:00

93 lines
2 KiB
Smali

.class public 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 = 0x9
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 public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public 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 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
if-nez v2, :cond_1
const/4 p1, 0x0
return p1
:cond_1
const/4 p1, 0x1
return p1
.end method