a$a.smali
.class public final Lkotlin/comparisons/a$a;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lkotlin/comparisons/a;->a([Lkotlin/jvm/functions/l;)Ljava/util/Comparator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/util/Comparator;"
}
.end annotation
# instance fields
.field public final synthetic a:[Lkotlin/jvm/functions/l;
.annotation system Ldalvik/annotation/Signature;
value = {
"[",
"Lkotlin/jvm/functions/l<",
"TT;",
"Ljava/lang/Comparable<",
"*>;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>([Lkotlin/jvm/functions/l;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Lkotlin/jvm/functions/l<",
"-TT;+",
"Ljava/lang/Comparable<",
"*>;>;)V"
}
.end annotation
iput-object p1, p0, Lkotlin/comparisons/a$a;->a:[Lkotlin/jvm/functions/l;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final compare(Ljava/lang/Object;Ljava/lang/Object;)I
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;TT;)I"
}
.end annotation
.line 1
iget-object v0, p0, Lkotlin/comparisons/a$a;->a:[Lkotlin/jvm/functions/l;
.line 2
array-length v1, v0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_5
if-ge v3, v1, :cond_20
aget-object v4, v0, v3
.line 3
invoke-interface {v4, p1}, Lkotlin/jvm/functions/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/Comparable;
.line 4
invoke-interface {v4, p2}, Lkotlin/jvm/functions/l;->invoke(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Comparable;
.line 5
invoke-static {v5, v4}, Lkotlin/comparisons/a;->b(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
move-result v4
if-eqz v4, :cond_1d
move v2, v4
goto :goto_20
:cond_1d
add-int/lit8 v3, v3, 0x1
goto :goto_5
:cond_20
:goto_20
return v2
.end method