Add Discord APKTool decompilation (Smali source for modding)

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

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

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

View File

@@ -0,0 +1,34 @@
.class public final Lkotlin/ranges/CharProgression$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/CharProgression;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 61
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/CharProgression$Companion;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,137 @@
.class public abstract Lkotlin/ranges/CharProgression;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Iterable;
.implements Lkotlin/jvm/internal/markers/KMappedMarker;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/CharProgression$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/CharProgression$Companion;
# instance fields
.field public final first:C
.field public final last:C
.field public final step:I
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlin/ranges/CharProgression$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/CharProgression$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/CharProgression;->Companion:Lkotlin/ranges/CharProgression$Companion;
return-void
.end method
.method public constructor <init>(CCI)V
.locals 1
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p3, :cond_1
const/high16 v0, -0x80000000
if-eq p3, v0, :cond_0
iput-char p1, p0, Lkotlin/ranges/CharProgression;->first:C
.line 35
invoke-static {p1, p2, p3}, Lkotlin/internal/ProgressionUtilKt;->getProgressionLastElement(III)I
move-result p1
int-to-char p1, p1
iput-char p1, p0, Lkotlin/ranges/CharProgression;->last:C
iput p3, p0, Lkotlin/ranges/CharProgression;->step:I
return-void
.line 24
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be greater than Int.MIN_VALUE to avoid overflow on negation."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 23
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be non-zero."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final getFirst()C
.locals 1
iget-char v0, p0, Lkotlin/ranges/CharProgression;->first:C
return v0
.end method
.method public final getLast()C
.locals 1
iget-char v0, p0, Lkotlin/ranges/CharProgression;->last:C
return v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 15
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->iterator()Lkotlin/collections/CharIterator;
move-result-object v0
return-object v0
.end method
.method public iterator()Lkotlin/collections/CharIterator;
.locals 4
.line 42
new-instance v0, Lkotlin/ranges/CharProgressionIterator;
iget-char v1, p0, Lkotlin/ranges/CharProgression;->first:C
iget-char v2, p0, Lkotlin/ranges/CharProgression;->last:C
iget v3, p0, Lkotlin/ranges/CharProgression;->step:I
invoke-direct {v0, v1, v2, v3}, Lkotlin/ranges/CharProgressionIterator;-><init>(CCI)V
return-object v0
.end method

View File

@@ -0,0 +1,118 @@
.class public final Lkotlin/ranges/CharProgressionIterator;
.super Lkotlin/collections/CharIterator;
.source "SourceFile"
# instance fields
.field public final finalElement:I
.field public hasNext:Z
.field public next:I
.field public final step:I
# direct methods
.method public constructor <init>(CCI)V
.locals 2
.line 14
invoke-direct {p0}, Lkotlin/collections/CharIterator;-><init>()V
iput p3, p0, Lkotlin/ranges/CharProgressionIterator;->step:I
iput p2, p0, Lkotlin/ranges/CharProgressionIterator;->finalElement:I
const/4 v0, 0x1
const/4 v1, 0x0
if-lez p3, :cond_1
.line 16
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I
move-result p3
if-gtz p3, :cond_0
goto :goto_0
:cond_0
move v0, v1
goto :goto_0
:cond_1
invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I
move-result p3
if-ltz p3, :cond_0
:goto_0
iput-boolean v0, p0, Lkotlin/ranges/CharProgressionIterator;->hasNext:Z
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move p1, p2
:goto_1
iput p1, p0, Lkotlin/ranges/CharProgressionIterator;->next:I
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lkotlin/ranges/CharProgressionIterator;->hasNext:Z
return v0
.end method
.method public nextChar()C
.locals 2
iget v0, p0, Lkotlin/ranges/CharProgressionIterator;->next:I
iget v1, p0, Lkotlin/ranges/CharProgressionIterator;->finalElement:I
if-ne v0, v1, :cond_1
iget-boolean v1, p0, Lkotlin/ranges/CharProgressionIterator;->hasNext:Z
if-eqz v1, :cond_0
const/4 v1, 0x0
iput-boolean v1, p0, Lkotlin/ranges/CharProgressionIterator;->hasNext:Z
goto :goto_0
.line 24
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
:cond_1
iget v1, p0, Lkotlin/ranges/CharProgressionIterator;->step:I
add-int/2addr v1, v0
iput v1, p0, Lkotlin/ranges/CharProgressionIterator;->next:I
:goto_0
int-to-char v0, v0
return v0
.end method

View File

@@ -0,0 +1,34 @@
.class public final Lkotlin/ranges/CharRange$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/CharRange;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 43
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/CharRange$Companion;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,263 @@
.class public final Lkotlin/ranges/CharRange;
.super Lkotlin/ranges/CharProgression;
.source "SourceFile"
# interfaces
.implements Lkotlin/ranges/ClosedRange;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/CharRange$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/CharRange$Companion;
.field public static final EMPTY:Lkotlin/ranges/CharRange;
# direct methods
.method static constructor <clinit>()V
.locals 3
new-instance v0, Lkotlin/ranges/CharRange$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/CharRange$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/CharRange;->Companion:Lkotlin/ranges/CharRange$Companion;
.line 45
new-instance v0, Lkotlin/ranges/CharRange;
const/4 v1, 0x1
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lkotlin/ranges/CharRange;-><init>(CC)V
sput-object v0, Lkotlin/ranges/CharRange;->EMPTY:Lkotlin/ranges/CharRange;
return-void
.end method
.method public constructor <init>(CC)V
.locals 1
const/4 v0, 0x1
.line 13
invoke-direct {p0, p1, p2, v0}, Lkotlin/ranges/CharProgression;-><init>(CCI)V
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 2
.line 35
instance-of v0, p1, Lkotlin/ranges/CharRange;
if-eqz v0, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/CharRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
move-object v0, p1
check-cast v0, Lkotlin/ranges/CharRange;
invoke-virtual {v0}, Lkotlin/ranges/CharRange;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 36
:cond_0
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v0
check-cast p1, Lkotlin/ranges/CharRange;
invoke-virtual {p1}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v1
if-ne v0, v1, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getLast()C
move-result v0
invoke-virtual {p1}, Lkotlin/ranges/CharProgression;->getLast()C
move-result p1
if-ne v0, p1, :cond_2
:cond_1
const/4 p1, 0x1
goto :goto_0
:cond_2
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public getEndInclusive()Ljava/lang/Character;
.locals 1
.line 15
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getLast()C
move-result v0
invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getEndInclusive()Ljava/lang/Comparable;
.locals 1
.line 13
invoke-virtual {p0}, Lkotlin/ranges/CharRange;->getEndInclusive()Ljava/lang/Character;
move-result-object v0
return-object v0
.end method
.method public getStart()Ljava/lang/Character;
.locals 1
.line 14
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v0
invoke-static {v0}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getStart()Ljava/lang/Comparable;
.locals 1
.line 13
invoke-virtual {p0}, Lkotlin/ranges/CharRange;->getStart()Ljava/lang/Character;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 39
invoke-virtual {p0}, Lkotlin/ranges/CharRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, -0x1
goto :goto_0
:cond_0
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v0
mul-int/lit8 v0, v0, 0x1f
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getLast()C
move-result v1
add-int/2addr v0, v1
:goto_0
return v0
.end method
.method public isEmpty()Z
.locals 2
.line 32
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v0
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getLast()C
move-result v1
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->compare(II)I
move-result v0
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 41
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getFirst()C
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const-string v1, ".."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lkotlin/ranges/CharProgression;->getLast()C
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)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,84 @@
.class public abstract Lkotlin/ranges/ClosedRange$DefaultImpls;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/ClosedRange;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "DefaultImpls"
.end annotation
# direct methods
.method public static contains(Lkotlin/ranges/ClosedRange;Ljava/lang/Comparable;)Z
.locals 1
const-string v0, "value"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 28
invoke-interface {p0}, Lkotlin/ranges/ClosedRange;->getStart()Ljava/lang/Comparable;
move-result-object v0
invoke-interface {p1, v0}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result v0
if-ltz v0, :cond_0
invoke-interface {p0}, Lkotlin/ranges/ClosedRange;->getEndInclusive()Ljava/lang/Comparable;
move-result-object p0
invoke-interface {p1, p0}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result p0
if-gtz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static isEmpty(Lkotlin/ranges/ClosedRange;)Z
.locals 1
.line 35
invoke-interface {p0}, Lkotlin/ranges/ClosedRange;->getStart()Ljava/lang/Comparable;
move-result-object v0
invoke-interface {p0}, Lkotlin/ranges/ClosedRange;->getEndInclusive()Ljava/lang/Comparable;
move-result-object p0
invoke-interface {v0, p0}, Ljava/lang/Comparable;->compareTo(Ljava/lang/Object;)I
move-result p0
if-lez p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method

View File

@@ -0,0 +1,19 @@
.class public interface abstract Lkotlin/ranges/ClosedRange;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/ClosedRange$DefaultImpls;
}
.end annotation
# virtual methods
.method public abstract getEndInclusive()Ljava/lang/Comparable;
.end method
.method public abstract getStart()Ljava/lang/Comparable;
.end method

View File

@@ -0,0 +1,47 @@
.class public final Lkotlin/ranges/IntProgression$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/IntProgression;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 123
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/IntProgression$Companion;-><init>()V
return-void
.end method
# virtual methods
.method public final fromClosedRange(III)Lkotlin/ranges/IntProgression;
.locals 1
.line 132
new-instance v0, Lkotlin/ranges/IntProgression;
invoke-direct {v0, p1, p2, p3}, Lkotlin/ranges/IntProgression;-><init>(III)V
return-object v0
.end method

View File

@@ -0,0 +1,338 @@
.class public Lkotlin/ranges/IntProgression;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Iterable;
.implements Lkotlin/jvm/internal/markers/KMappedMarker;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/IntProgression$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/IntProgression$Companion;
# instance fields
.field public final first:I
.field public final last:I
.field public final step:I
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlin/ranges/IntProgression$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/IntProgression$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/IntProgression;->Companion:Lkotlin/ranges/IntProgression$Companion;
return-void
.end method
.method public constructor <init>(III)V
.locals 1
.line 77
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
if-eqz p3, :cond_1
const/high16 v0, -0x80000000
if-eq p3, v0, :cond_0
iput p1, p0, Lkotlin/ranges/IntProgression;->first:I
.line 97
invoke-static {p1, p2, p3}, Lkotlin/internal/ProgressionUtilKt;->getProgressionLastElement(III)I
move-result p1
iput p1, p0, Lkotlin/ranges/IntProgression;->last:I
iput p3, p0, Lkotlin/ranges/IntProgression;->step:I
return-void
.line 86
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be greater than Int.MIN_VALUE to avoid overflow on negation."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 85
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be non-zero."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 2
.line 115
instance-of v0, p1, Lkotlin/ranges/IntProgression;
if-eqz v0, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
move-object v0, p1
check-cast v0, Lkotlin/ranges/IntProgression;
invoke-virtual {v0}, Lkotlin/ranges/IntProgression;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
:cond_0
iget v0, p0, Lkotlin/ranges/IntProgression;->first:I
.line 116
check-cast p1, Lkotlin/ranges/IntProgression;
iget v1, p1, Lkotlin/ranges/IntProgression;->first:I
if-ne v0, v1, :cond_2
iget v0, p0, Lkotlin/ranges/IntProgression;->last:I
iget v1, p1, Lkotlin/ranges/IntProgression;->last:I
if-ne v0, v1, :cond_2
iget v0, p0, Lkotlin/ranges/IntProgression;->step:I
iget p1, p1, Lkotlin/ranges/IntProgression;->step:I
if-ne v0, p1, :cond_2
:cond_1
const/4 p1, 0x1
goto :goto_0
:cond_2
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public final getFirst()I
.locals 1
iget v0, p0, Lkotlin/ranges/IntProgression;->first:I
return v0
.end method
.method public final getLast()I
.locals 1
iget v0, p0, Lkotlin/ranges/IntProgression;->last:I
return v0
.end method
.method public final getStep()I
.locals 1
iget v0, p0, Lkotlin/ranges/IntProgression;->step:I
return v0
.end method
.method public hashCode()I
.locals 2
.line 119
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, -0x1
goto :goto_0
:cond_0
iget v0, p0, Lkotlin/ranges/IntProgression;->first:I
mul-int/lit8 v0, v0, 0x1f
iget v1, p0, Lkotlin/ranges/IntProgression;->last:I
add-int/2addr v0, v1
mul-int/lit8 v0, v0, 0x1f
iget v1, p0, Lkotlin/ranges/IntProgression;->step:I
add-int/2addr v0, v1
:goto_0
return v0
.end method
.method public isEmpty()Z
.locals 4
iget v0, p0, Lkotlin/ranges/IntProgression;->step:I
const/4 v1, 0x0
const/4 v2, 0x1
if-lez v0, :cond_0
iget v0, p0, Lkotlin/ranges/IntProgression;->first:I
iget v3, p0, Lkotlin/ranges/IntProgression;->last:I
if-le v0, v3, :cond_1
:goto_0
move v1, v2
goto :goto_1
:cond_0
iget v0, p0, Lkotlin/ranges/IntProgression;->first:I
iget v3, p0, Lkotlin/ranges/IntProgression;->last:I
if-ge v0, v3, :cond_1
goto :goto_0
:cond_1
:goto_1
return v1
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 77
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->iterator()Lkotlin/collections/IntIterator;
move-result-object v0
return-object v0
.end method
.method public iterator()Lkotlin/collections/IntIterator;
.locals 4
.line 104
new-instance v0, Lkotlin/ranges/IntProgressionIterator;
iget v1, p0, Lkotlin/ranges/IntProgression;->first:I
iget v2, p0, Lkotlin/ranges/IntProgression;->last:I
iget v3, p0, Lkotlin/ranges/IntProgression;->step:I
invoke-direct {v0, v1, v2, v3}, Lkotlin/ranges/IntProgressionIterator;-><init>(III)V
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
iget v0, p0, Lkotlin/ranges/IntProgression;->step:I
const-string v1, " step "
if-lez v0, :cond_0
.line 121
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v2, p0, Lkotlin/ranges/IntProgression;->first:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ".."
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lkotlin/ranges/IntProgression;->last:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lkotlin/ranges/IntProgression;->step:I
:goto_0
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
goto :goto_1
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v2, p0, Lkotlin/ranges/IntProgression;->first:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " downTo "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lkotlin/ranges/IntProgression;->last:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lkotlin/ranges/IntProgression;->step:I
neg-int v1, v1
goto :goto_0
:goto_1
return-object v0
.end method

View File

@@ -0,0 +1,107 @@
.class public final Lkotlin/ranges/IntProgressionIterator;
.super Lkotlin/collections/IntIterator;
.source "SourceFile"
# instance fields
.field public final finalElement:I
.field public hasNext:Z
.field public next:I
.field public final step:I
# direct methods
.method public constructor <init>(III)V
.locals 2
.line 38
invoke-direct {p0}, Lkotlin/collections/IntIterator;-><init>()V
iput p3, p0, Lkotlin/ranges/IntProgressionIterator;->step:I
iput p2, p0, Lkotlin/ranges/IntProgressionIterator;->finalElement:I
const/4 v0, 0x1
const/4 v1, 0x0
if-lez p3, :cond_1
if-gt p1, p2, :cond_0
goto :goto_0
:cond_0
move v0, v1
goto :goto_0
:cond_1
if-lt p1, p2, :cond_0
:goto_0
iput-boolean v0, p0, Lkotlin/ranges/IntProgressionIterator;->hasNext:Z
if-eqz v0, :cond_2
goto :goto_1
:cond_2
move p1, p2
:goto_1
iput p1, p0, Lkotlin/ranges/IntProgressionIterator;->next:I
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lkotlin/ranges/IntProgressionIterator;->hasNext:Z
return v0
.end method
.method public nextInt()I
.locals 2
iget v0, p0, Lkotlin/ranges/IntProgressionIterator;->next:I
iget v1, p0, Lkotlin/ranges/IntProgressionIterator;->finalElement:I
if-ne v0, v1, :cond_1
iget-boolean v1, p0, Lkotlin/ranges/IntProgressionIterator;->hasNext:Z
if-eqz v1, :cond_0
const/4 v1, 0x0
iput-boolean v1, p0, Lkotlin/ranges/IntProgressionIterator;->hasNext:Z
goto :goto_0
.line 48
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
:cond_1
iget v1, p0, Lkotlin/ranges/IntProgressionIterator;->step:I
add-int/2addr v1, v0
iput v1, p0, Lkotlin/ranges/IntProgressionIterator;->next:I
:goto_0
return v0
.end method

View File

@@ -0,0 +1,47 @@
.class public final Lkotlin/ranges/IntRange$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/IntRange;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 82
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/IntRange$Companion;-><init>()V
return-void
.end method
# virtual methods
.method public final getEMPTY()Lkotlin/ranges/IntRange;
.locals 1
.line 84
invoke-static {}, Lkotlin/ranges/IntRange;->access$getEMPTY$cp()Lkotlin/ranges/IntRange;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,294 @@
.class public final Lkotlin/ranges/IntRange;
.super Lkotlin/ranges/IntProgression;
.source "SourceFile"
# interfaces
.implements Lkotlin/ranges/ClosedRange;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/IntRange$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/IntRange$Companion;
.field public static final EMPTY:Lkotlin/ranges/IntRange;
# direct methods
.method static constructor <clinit>()V
.locals 3
new-instance v0, Lkotlin/ranges/IntRange$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/IntRange$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/IntRange;->Companion:Lkotlin/ranges/IntRange$Companion;
.line 84
new-instance v0, Lkotlin/ranges/IntRange;
const/4 v1, 0x1
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lkotlin/ranges/IntRange;-><init>(II)V
sput-object v0, Lkotlin/ranges/IntRange;->EMPTY:Lkotlin/ranges/IntRange;
return-void
.end method
.method public constructor <init>(II)V
.locals 1
const/4 v0, 0x1
.line 52
invoke-direct {p0, p1, p2, v0}, Lkotlin/ranges/IntProgression;-><init>(III)V
return-void
.end method
.method public static final synthetic access$getEMPTY$cp()Lkotlin/ranges/IntRange;
.locals 1
sget-object v0, Lkotlin/ranges/IntRange;->EMPTY:Lkotlin/ranges/IntRange;
return-object v0
.end method
# virtual methods
.method public contains(I)Z
.locals 1
.line 64
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v0
if-gt v0, p1, :cond_0
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getLast()I
move-result v0
if-gt p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 2
.line 74
instance-of v0, p1, Lkotlin/ranges/IntRange;
if-eqz v0, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/IntRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
move-object v0, p1
check-cast v0, Lkotlin/ranges/IntRange;
invoke-virtual {v0}, Lkotlin/ranges/IntRange;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 75
:cond_0
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v0
check-cast p1, Lkotlin/ranges/IntRange;
invoke-virtual {p1}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v1
if-ne v0, v1, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getLast()I
move-result v0
invoke-virtual {p1}, Lkotlin/ranges/IntProgression;->getLast()I
move-result p1
if-ne v0, p1, :cond_2
:cond_1
const/4 p1, 0x1
goto :goto_0
:cond_2
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public bridge synthetic getEndInclusive()Ljava/lang/Comparable;
.locals 1
.line 52
invoke-virtual {p0}, Lkotlin/ranges/IntRange;->getEndInclusive()Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public getEndInclusive()Ljava/lang/Integer;
.locals 1
.line 54
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getLast()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getStart()Ljava/lang/Comparable;
.locals 1
.line 52
invoke-virtual {p0}, Lkotlin/ranges/IntRange;->getStart()Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public getStart()Ljava/lang/Integer;
.locals 1
.line 53
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 78
invoke-virtual {p0}, Lkotlin/ranges/IntRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, -0x1
goto :goto_0
:cond_0
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v0
mul-int/lit8 v0, v0, 0x1f
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getLast()I
move-result v1
add-int/2addr v0, v1
:goto_0
return v0
.end method
.method public isEmpty()Z
.locals 2
.line 71
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()I
move-result v0
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getLast()I
move-result v1
if-le v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 80
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lkotlin/ranges/IntProgression;->getFirst()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 {p0}, Lkotlin/ranges/IntProgression;->getLast()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
return-object v0
.end method

View File

@@ -0,0 +1,34 @@
.class public final Lkotlin/ranges/LongProgression$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/LongProgression;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 185
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/LongProgression$Companion;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,143 @@
.class public abstract Lkotlin/ranges/LongProgression;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Iterable;
.implements Lkotlin/jvm/internal/markers/KMappedMarker;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/LongProgression$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/LongProgression$Companion;
# instance fields
.field public final first:J
.field public final last:J
.field public final step:J
# direct methods
.method static constructor <clinit>()V
.locals 2
new-instance v0, Lkotlin/ranges/LongProgression$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/LongProgression$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/LongProgression;->Companion:Lkotlin/ranges/LongProgression$Companion;
return-void
.end method
.method public constructor <init>(JJJ)V
.locals 2
.line 139
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-wide/16 v0, 0x0
cmp-long v0, p5, v0
if-eqz v0, :cond_1
const-wide/high16 v0, -0x8000000000000000L
cmp-long v0, p5, v0
if-eqz v0, :cond_0
iput-wide p1, p0, Lkotlin/ranges/LongProgression;->first:J
.line 159
invoke-static/range {p1 .. p6}, Lkotlin/internal/ProgressionUtilKt;->getProgressionLastElement(JJJ)J
move-result-wide p1
iput-wide p1, p0, Lkotlin/ranges/LongProgression;->last:J
iput-wide p5, p0, Lkotlin/ranges/LongProgression;->step:J
return-void
.line 148
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be greater than Long.MIN_VALUE to avoid overflow on negation."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 147
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Step must be non-zero."
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
# virtual methods
.method public final getFirst()J
.locals 2
iget-wide v0, p0, Lkotlin/ranges/LongProgression;->first:J
return-wide v0
.end method
.method public final getLast()J
.locals 2
iget-wide v0, p0, Lkotlin/ranges/LongProgression;->last:J
return-wide v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 139
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->iterator()Lkotlin/collections/LongIterator;
move-result-object v0
return-object v0
.end method
.method public iterator()Lkotlin/collections/LongIterator;
.locals 8
.line 166
new-instance v7, Lkotlin/ranges/LongProgressionIterator;
iget-wide v1, p0, Lkotlin/ranges/LongProgression;->first:J
iget-wide v3, p0, Lkotlin/ranges/LongProgression;->last:J
iget-wide v5, p0, Lkotlin/ranges/LongProgression;->step:J
move-object v0, v7
invoke-direct/range {v0 .. v6}, Lkotlin/ranges/LongProgressionIterator;-><init>(JJJ)V
return-object v7
.end method

View File

@@ -0,0 +1,117 @@
.class public final Lkotlin/ranges/LongProgressionIterator;
.super Lkotlin/collections/LongIterator;
.source "SourceFile"
# instance fields
.field public final finalElement:J
.field public hasNext:Z
.field public next:J
.field public final step:J
# direct methods
.method public constructor <init>(JJJ)V
.locals 2
.line 62
invoke-direct {p0}, Lkotlin/collections/LongIterator;-><init>()V
iput-wide p5, p0, Lkotlin/ranges/LongProgressionIterator;->step:J
iput-wide p3, p0, Lkotlin/ranges/LongProgressionIterator;->finalElement:J
const-wide/16 v0, 0x0
cmp-long p5, p5, v0
const/4 p6, 0x1
const/4 v0, 0x0
if-lez p5, :cond_1
cmp-long p5, p1, p3
if-gtz p5, :cond_0
goto :goto_0
:cond_0
move p6, v0
goto :goto_0
:cond_1
cmp-long p5, p1, p3
if-ltz p5, :cond_0
:goto_0
iput-boolean p6, p0, Lkotlin/ranges/LongProgressionIterator;->hasNext:Z
if-eqz p6, :cond_2
goto :goto_1
:cond_2
move-wide p1, p3
:goto_1
iput-wide p1, p0, Lkotlin/ranges/LongProgressionIterator;->next:J
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
iget-boolean v0, p0, Lkotlin/ranges/LongProgressionIterator;->hasNext:Z
return v0
.end method
.method public nextLong()J
.locals 4
iget-wide v0, p0, Lkotlin/ranges/LongProgressionIterator;->next:J
iget-wide v2, p0, Lkotlin/ranges/LongProgressionIterator;->finalElement:J
cmp-long v2, v0, v2
if-nez v2, :cond_1
iget-boolean v2, p0, Lkotlin/ranges/LongProgressionIterator;->hasNext:Z
if-eqz v2, :cond_0
const/4 v2, 0x0
iput-boolean v2, p0, Lkotlin/ranges/LongProgressionIterator;->hasNext:Z
goto :goto_0
.line 72
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
:cond_1
iget-wide v2, p0, Lkotlin/ranges/LongProgressionIterator;->step:J
add-long/2addr v2, v0
iput-wide v2, p0, Lkotlin/ranges/LongProgressionIterator;->next:J
:goto_0
return-wide v0
.end method

View File

@@ -0,0 +1,34 @@
.class public final Lkotlin/ranges/LongRange$Companion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/ranges/LongRange;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Companion"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 121
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
.line 0
invoke-direct {p0}, Lkotlin/ranges/LongRange$Companion;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,326 @@
.class public final Lkotlin/ranges/LongRange;
.super Lkotlin/ranges/LongProgression;
.source "SourceFile"
# interfaces
.implements Lkotlin/ranges/ClosedRange;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/ranges/LongRange$Companion;
}
.end annotation
# static fields
.field public static final Companion:Lkotlin/ranges/LongRange$Companion;
.field public static final EMPTY:Lkotlin/ranges/LongRange;
# direct methods
.method static constructor <clinit>()V
.locals 5
new-instance v0, Lkotlin/ranges/LongRange$Companion;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lkotlin/ranges/LongRange$Companion;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
sput-object v0, Lkotlin/ranges/LongRange;->Companion:Lkotlin/ranges/LongRange$Companion;
.line 123
new-instance v0, Lkotlin/ranges/LongRange;
const-wide/16 v1, 0x1
const-wide/16 v3, 0x0
invoke-direct {v0, v1, v2, v3, v4}, Lkotlin/ranges/LongRange;-><init>(JJ)V
sput-object v0, Lkotlin/ranges/LongRange;->EMPTY:Lkotlin/ranges/LongRange;
return-void
.end method
.method public constructor <init>(JJ)V
.locals 7
const-wide/16 v5, 0x1
move-object v0, p0
move-wide v1, p1
move-wide v3, p3
.line 91
invoke-direct/range {v0 .. v6}, Lkotlin/ranges/LongProgression;-><init>(JJJ)V
return-void
.end method
# virtual methods
.method public contains(J)Z
.locals 2
.line 103
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v0
cmp-long v0, v0, p1
if-gtz v0, :cond_0
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v0
cmp-long p1, p1, v0
if-gtz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public equals(Ljava/lang/Object;)Z
.locals 4
.line 113
instance-of v0, p1, Lkotlin/ranges/LongRange;
if-eqz v0, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/LongRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
move-object v0, p1
check-cast v0, Lkotlin/ranges/LongRange;
invoke-virtual {v0}, Lkotlin/ranges/LongRange;->isEmpty()Z
move-result v0
if-nez v0, :cond_1
.line 114
:cond_0
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v0
check-cast p1, Lkotlin/ranges/LongRange;
invoke-virtual {p1}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v2
cmp-long v0, v0, v2
if-nez v0, :cond_2
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v0
invoke-virtual {p1}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v2
cmp-long p1, v0, v2
if-nez p1, :cond_2
:cond_1
const/4 p1, 0x1
goto :goto_0
:cond_2
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public bridge synthetic getEndInclusive()Ljava/lang/Comparable;
.locals 1
.line 91
invoke-virtual {p0}, Lkotlin/ranges/LongRange;->getEndInclusive()Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getEndInclusive()Ljava/lang/Long;
.locals 2
.line 93
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public bridge synthetic getStart()Ljava/lang/Comparable;
.locals 1
.line 91
invoke-virtual {p0}, Lkotlin/ranges/LongRange;->getStart()Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getStart()Ljava/lang/Long;
.locals 2
.line 92
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 7
.line 117
invoke-virtual {p0}, Lkotlin/ranges/LongRange;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
const/4 v0, -0x1
goto :goto_0
:cond_0
const/16 v0, 0x1f
int-to-long v0, v0
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v2
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v4
const/16 v6, 0x20
ushr-long/2addr v4, v6
xor-long/2addr v2, v4
mul-long/2addr v0, v2
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v2
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v4
ushr-long/2addr v4, v6
xor-long/2addr v2, v4
add-long/2addr v0, v2
long-to-int v0, v0
:goto_0
return v0
.end method
.method public isEmpty()Z
.locals 4
.line 110
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v0
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v2
cmp-long v0, v0, v2
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 3
.line 119
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getFirst()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ".."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lkotlin/ranges/LongProgression;->getLast()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)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,104 @@
.class public abstract Lkotlin/ranges/RangesKt;
.super Lkotlin/ranges/RangesKt___RangesKt;
.source "SourceFile"
# direct methods
.method public static bridge synthetic coerceAtLeast(II)I
.locals 0
.line 0
invoke-static {p0, p1}, Lkotlin/ranges/RangesKt___RangesKt;->coerceAtLeast(II)I
move-result p0
return p0
.end method
.method public static bridge synthetic coerceAtLeast(JJ)J
.locals 0
.line 0
invoke-static {p0, p1, p2, p3}, Lkotlin/ranges/RangesKt___RangesKt;->coerceAtLeast(JJ)J
move-result-wide p0
return-wide p0
.end method
.method public static bridge synthetic coerceAtMost(II)I
.locals 0
.line 0
invoke-static {p0, p1}, Lkotlin/ranges/RangesKt___RangesKt;->coerceAtMost(II)I
move-result p0
return p0
.end method
.method public static bridge synthetic coerceAtMost(JJ)J
.locals 0
.line 0
invoke-static {p0, p1, p2, p3}, Lkotlin/ranges/RangesKt___RangesKt;->coerceAtMost(JJ)J
move-result-wide p0
return-wide p0
.end method
.method public static bridge synthetic coerceIn(III)I
.locals 0
.line 0
invoke-static {p0, p1, p2}, Lkotlin/ranges/RangesKt___RangesKt;->coerceIn(III)I
move-result p0
return p0
.end method
.method public static bridge synthetic coerceIn(JJJ)J
.locals 0
.line 0
invoke-static/range {p0 .. p5}, Lkotlin/ranges/RangesKt___RangesKt;->coerceIn(JJJ)J
move-result-wide p0
return-wide p0
.end method
.method public static bridge synthetic downTo(II)Lkotlin/ranges/IntProgression;
.locals 0
.line 0
invoke-static {p0, p1}, Lkotlin/ranges/RangesKt___RangesKt;->downTo(II)Lkotlin/ranges/IntProgression;
move-result-object p0
return-object p0
.end method
.method public static bridge synthetic random(Lkotlin/ranges/IntRange;Lkotlin/random/Random;)I
.locals 0
.line 0
invoke-static {p0, p1}, Lkotlin/ranges/RangesKt___RangesKt;->random(Lkotlin/ranges/IntRange;Lkotlin/random/Random;)I
move-result p0
return p0
.end method
.method public static bridge synthetic until(II)Lkotlin/ranges/IntRange;
.locals 0
.line 0
invoke-static {p0, p1}, Lkotlin/ranges/RangesKt___RangesKt;->until(II)Lkotlin/ranges/IntRange;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,3 @@
.class public abstract Lkotlin/ranges/RangesKt__RangesKt;
.super Ljava/lang/Object;
.source "SourceFile"

View File

@@ -0,0 +1,241 @@
.class public abstract Lkotlin/ranges/RangesKt___RangesKt;
.super Lkotlin/ranges/RangesKt__RangesKt;
.source "SourceFile"
# direct methods
.method public static coerceAtLeast(II)I
.locals 0
.line 0
if-ge p0, p1, :cond_0
move p0, p1
:cond_0
return p0
.end method
.method public static coerceAtLeast(JJ)J
.locals 1
.line 0
cmp-long v0, p0, p2
if-gez v0, :cond_0
move-wide p0, p2
:cond_0
return-wide p0
.end method
.method public static coerceAtMost(II)I
.locals 0
.line 0
if-le p0, p1, :cond_0
move p0, p1
:cond_0
return p0
.end method
.method public static coerceAtMost(JJ)J
.locals 1
.line 0
cmp-long v0, p0, p2
if-lez v0, :cond_0
move-wide p0, p2
:cond_0
return-wide p0
.end method
.method public static coerceIn(III)I
.locals 2
if-gt p1, p2, :cond_2
if-ge p0, p1, :cond_0
return p1
:cond_0
if-le p0, p2, :cond_1
return p2
:cond_1
return p0
.line 1413
:cond_2
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Cannot coerce value to an empty range: maximum "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p2, " is less than minimum "
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const/16 p1, 0x2e
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static coerceIn(JJJ)J
.locals 1
cmp-long v0, p2, p4
if-gtz v0, :cond_2
cmp-long v0, p0, p2
if-gez v0, :cond_0
return-wide p2
:cond_0
cmp-long p2, p0, p4
if-lez p2, :cond_1
return-wide p4
:cond_1
return-wide p0
.line 1427
:cond_2
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "Cannot coerce value to an empty range: maximum "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p4, p5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string p4, " is less than minimum "
invoke-virtual {p1, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2, p3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 p2, 0x2e
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static downTo(II)Lkotlin/ranges/IntProgression;
.locals 2
.line 828
sget-object v0, Lkotlin/ranges/IntProgression;->Companion:Lkotlin/ranges/IntProgression$Companion;
const/4 v1, -0x1
invoke-virtual {v0, p0, p1, v1}, Lkotlin/ranges/IntProgression$Companion;->fromClosedRange(III)Lkotlin/ranges/IntProgression;
move-result-object p0
return-object p0
.end method
.method public static random(Lkotlin/ranges/IntRange;Lkotlin/random/Random;)I
.locals 1
const-string v0, "<this>"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "random"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 191
:try_start_0
invoke-static {p1, p0}, Lkotlin/random/RandomKt;->nextInt(Lkotlin/random/Random;Lkotlin/ranges/IntRange;)I
move-result p0
:try_end_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
return p0
:catch_0
move-exception p0
.line 193
new-instance p1, Ljava/util/NoSuchElementException;
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/util/NoSuchElementException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static until(II)Lkotlin/ranges/IntRange;
.locals 1
const/high16 v0, -0x80000000
if-gt p1, v0, :cond_0
.line 1094
sget-object p0, Lkotlin/ranges/IntRange;->Companion:Lkotlin/ranges/IntRange$Companion;
invoke-virtual {p0}, Lkotlin/ranges/IntRange$Companion;->getEMPTY()Lkotlin/ranges/IntRange;
move-result-object p0
return-object p0
.line 1095
:cond_0
new-instance v0, Lkotlin/ranges/IntRange;
add-int/lit8 p1, p1, -0x1
invoke-direct {v0, p0, p1}, Lkotlin/ranges/IntRange;-><init>(II)V
return-object v0
.end method