tmap/smali_classes3/com/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder.smali
2022-06-10 21:38:30 +09:00

125 lines
3.4 KiB
Smali

.class Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.super Ljava/lang/Object;
.source "UnsignedBytes.java"
# annotations
.annotation build Lcom/google/common/annotations/VisibleForTesting;
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/primitives/UnsignedBytes;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "LexicographicalComparatorHolder"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$PureJavaComparator;,
Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator;
}
.end annotation
# static fields
.field public static final BEST_COMPARATOR:Ljava/util/Comparator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.end field
.field public static final UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
const-class v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;
.line 2
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "$UnsafeComparator"
invoke-virtual {v0, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
.line 3
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->getBestComparator()Ljava/util/Comparator;
move-result-object v0
sput-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->BEST_COMPARATOR:Ljava/util/Comparator;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getBestComparator()Ljava/util/Comparator;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Comparator<",
"[B>;"
}
.end annotation
.line 1
:try_start_0
sget-object v0, Lcom/google/common/primitives/UnsignedBytes$LexicographicalComparatorHolder;->UNSAFE_COMPARATOR_NAME:Ljava/lang/String;
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
move-result-object v0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, [Ljava/lang/Object;
const/4 v1, 0x0
.line 3
aget-object v0, v0, v1
check-cast v0, Ljava/util/Comparator;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-object v0
.line 4
:catchall_0
invoke-static {}, Lcom/google/common/primitives/UnsignedBytes;->lexicographicalComparatorJavaImpl()Ljava/util/Comparator;
move-result-object v0
return-object v0
.end method