Files
rr3-apk/smali/androidx/collection/IndexBasedArrayIterator.smali
Daniel Elliott f3960ee359 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
2026-02-18 16:13:44 -08:00

168 lines
3.8 KiB
Smali

.class public abstract Landroidx/collection/IndexBasedArrayIterator;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/Iterator;
.implements Lkotlin/jvm/internal/markers/KMutableIterator;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"TT;>;",
"Lkotlin/jvm/internal/markers/KMutableIterator;"
}
.end annotation
.annotation build Lkotlin/jvm/internal/SourceDebugExtension;
value = {
"SMAP\nIndexBasedArrayIterator.kt\nKotlin\n*S Kotlin\n*F\n+ 1 IndexBasedArrayIterator.kt\nandroidx/collection/IndexBasedArrayIterator\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,48:1\n1#2:49\n*E\n"
}
.end annotation
# instance fields
.field private canRemove:Z
.field private index:I
.field private size:I
# direct methods
.method public constructor <init>(I)V
.locals 0
.line 18
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput p1, p0, Landroidx/collection/IndexBasedArrayIterator;->size:I
return-void
.end method
# virtual methods
.method public abstract elementAt(I)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TT;"
}
.end annotation
.end method
.method public hasNext()Z
.locals 2
iget v0, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
iget v1, p0, Landroidx/collection/IndexBasedArrayIterator;->size:I
if-ge 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 next()Ljava/lang/Object;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 30
invoke-virtual {p0}, Landroidx/collection/IndexBasedArrayIterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
iget v0, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
.line 34
invoke-virtual {p0, v0}, Landroidx/collection/IndexBasedArrayIterator;->elementAt(I)Ljava/lang/Object;
move-result-object v0
iget v1, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
const/4 v2, 0x1
add-int/2addr v1, v2
iput v1, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
iput-boolean v2, p0, Landroidx/collection/IndexBasedArrayIterator;->canRemove:Z
return-object v0
.line 31
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 2
iget-boolean v0, p0, Landroidx/collection/IndexBasedArrayIterator;->canRemove:Z
if-eqz v0, :cond_0
iget v0, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Landroidx/collection/IndexBasedArrayIterator;->index:I
.line 43
invoke-virtual {p0, v0}, Landroidx/collection/IndexBasedArrayIterator;->removeAt(I)V
iget v0, p0, Landroidx/collection/IndexBasedArrayIterator;->size:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Landroidx/collection/IndexBasedArrayIterator;->size:I
const/4 v0, 0x0
iput-boolean v0, p0, Landroidx/collection/IndexBasedArrayIterator;->canRemove:Z
return-void
.line 41
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Call next() before removing an element."
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract removeAt(I)V
.end method