changed repo structure
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
.class public final Lkotlin/io/encoding/Base64$Default;
|
||||
.super Lkotlin/io/encoding/Base64;
|
||||
.source "Base64.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Lkotlin/io/encoding/Base64;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x19
|
||||
name = "Default"
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0007\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u0012\n\u0002\u0008\u0003\n\u0002\u0010\u0005\n\u0002\u0008\u0002\u0008\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0001\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0004\u0010\u0005R\u0011\u0010\u0006\u001a\u00020\u0001\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0007\u0010\u0005R\u000e\u0010\u0008\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000c\u001a\u00020\tX\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u000e\u001a\u00020\u000fX\u0080\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0010\u0010\u0011R\u000e\u0010\u0012\u001a\u00020\u0013X\u0080T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\tX\u0080T\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0015"
|
||||
}
|
||||
d2 = {
|
||||
"Lkotlin/io/encoding/Base64$Default;",
|
||||
"Lkotlin/io/encoding/Base64;",
|
||||
"()V",
|
||||
"Mime",
|
||||
"getMime",
|
||||
"()Lkotlin/io/encoding/Base64;",
|
||||
"UrlSafe",
|
||||
"getUrlSafe",
|
||||
"bitsPerByte",
|
||||
"",
|
||||
"bitsPerSymbol",
|
||||
"bytesPerGroup",
|
||||
"mimeGroupsPerLine",
|
||||
"mimeLineLength",
|
||||
"mimeLineSeparatorSymbols",
|
||||
"",
|
||||
"getMimeLineSeparatorSymbols$kotlin_stdlib",
|
||||
"()[B",
|
||||
"padSymbol",
|
||||
"",
|
||||
"symbolsPerGroup",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x1
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
|
||||
# direct methods
|
||||
.method private constructor <init>()V
|
||||
.locals 2
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
.line 527
|
||||
invoke-direct {p0, v0, v0, v1}, Lkotlin/io/encoding/Base64;-><init>(ZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public synthetic constructor <init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/Base64$Default;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public final getMime()Lkotlin/io/encoding/Base64;
|
||||
.locals 1
|
||||
|
||||
.line 563
|
||||
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getMime$cp()Lkotlin/io/encoding/Base64;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public final getMimeLineSeparatorSymbols$kotlin_stdlib()[B
|
||||
.locals 1
|
||||
|
||||
.line 539
|
||||
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getMimeLineSeparatorSymbols$cp()[B
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public final getUrlSafe()Lkotlin/io/encoding/Base64;
|
||||
.locals 1
|
||||
|
||||
.line 551
|
||||
invoke-static {}, Lkotlin/io/encoding/Base64;->access$getUrlSafe$cp()Lkotlin/io/encoding/Base64;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
2212
2024/insomnihack/mobile/Notes/smali/kotlin/io/encoding/Base64.smali
Normal file
2212
2024/insomnihack/mobile/Notes/smali/kotlin/io/encoding/Base64.smali
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,165 @@
|
||||
.class public final Lkotlin/io/encoding/Base64JVMKt;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Base64JVM.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u0000 \n\u0000\n\u0002\u0010\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\r\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0006\n\u0002\u0010\u000e\n\u0000\u001a%\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a5\u0010\u0008\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\t\u001a\u00020\u00012\u0006\u0010\n\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a%\u0010\u000b\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u001a%\u0010\u000c\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\u0008\u00a8\u0006\u000e"
|
||||
}
|
||||
d2 = {
|
||||
"platformCharsToBytes",
|
||||
"",
|
||||
"Lkotlin/io/encoding/Base64;",
|
||||
"source",
|
||||
"",
|
||||
"startIndex",
|
||||
"",
|
||||
"endIndex",
|
||||
"platformEncodeIntoByteArray",
|
||||
"destination",
|
||||
"destinationOffset",
|
||||
"platformEncodeToByteArray",
|
||||
"platformEncodeToString",
|
||||
"",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x2
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
|
||||
# direct methods
|
||||
.method private static final platformCharsToBytes(Lkotlin/io/encoding/Base64;Ljava/lang/CharSequence;II)[B
|
||||
.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, "source"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 12
|
||||
instance-of v0, p1, Ljava/lang/String;
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
.line 13
|
||||
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
||||
|
||||
move-result v0
|
||||
|
||||
invoke-virtual {p0, v0, p2, p3}, Lkotlin/io/encoding/Base64;->checkSourceBounds$kotlin_stdlib(III)V
|
||||
|
||||
.line 15
|
||||
check-cast p1, Ljava/lang/String;
|
||||
|
||||
invoke-virtual {p1, p2, p3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
|
||||
|
||||
move-result-object p0
|
||||
|
||||
const-string p1, "this as java.lang.String\u2026ing(startIndex, endIndex)"
|
||||
|
||||
invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
sget-object p1, Lkotlin/text/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
|
||||
|
||||
const-string p2, "null cannot be cast to non-null type java.lang.String"
|
||||
|
||||
invoke-static {p0, p2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {p0, p1}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
|
||||
|
||||
move-result-object p0
|
||||
|
||||
const-string p1, "this as java.lang.String).getBytes(charset)"
|
||||
|
||||
invoke-static {p0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.line 17
|
||||
:cond_0
|
||||
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->charsToBytesImpl$kotlin_stdlib(Ljava/lang/CharSequence;II)[B
|
||||
|
||||
move-result-object p0
|
||||
|
||||
:goto_0
|
||||
return-object p0
|
||||
.end method
|
||||
|
||||
.method private static final platformEncodeIntoByteArray(Lkotlin/io/encoding/Base64;[B[BIII)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, "source"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
const-string v0, "destination"
|
||||
|
||||
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 54
|
||||
invoke-virtual/range {p0 .. p5}, Lkotlin/io/encoding/Base64;->encodeIntoByteArrayImpl$kotlin_stdlib([B[BIII)I
|
||||
|
||||
move-result p0
|
||||
|
||||
return p0
|
||||
.end method
|
||||
|
||||
.method private static final platformEncodeToByteArray(Lkotlin/io/encoding/Base64;[BII)[B
|
||||
.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, "source"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 72
|
||||
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->encodeToByteArrayImpl$kotlin_stdlib([BII)[B
|
||||
|
||||
move-result-object p0
|
||||
|
||||
return-object p0
|
||||
.end method
|
||||
|
||||
.method private static final platformEncodeToString(Lkotlin/io/encoding/Base64;[BII)Ljava/lang/String;
|
||||
.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, "source"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 33
|
||||
invoke-virtual {p0, p1, p2, p3}, Lkotlin/io/encoding/Base64;->encodeToByteArrayImpl$kotlin_stdlib([BII)[B
|
||||
|
||||
move-result-object p0
|
||||
|
||||
new-instance p1, Ljava/lang/String;
|
||||
|
||||
.line 34
|
||||
sget-object p2, Lkotlin/text/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
|
||||
|
||||
invoke-direct {p1, p0, p2}, Ljava/lang/String;-><init>([BLjava/nio/charset/Charset;)V
|
||||
|
||||
return-object p1
|
||||
.end method
|
||||
@@ -0,0 +1,413 @@
|
||||
.class public final Lkotlin/io/encoding/Base64Kt;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Base64.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/SourceDebugExtension;
|
||||
value = "SMAP\nBase64.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Base64.kt\nkotlin/io/encoding/Base64Kt\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,647:1\n13654#2,3:648\n13654#2,3:651\n*S KotlinDebug\n*F\n+ 1 Base64.kt\nkotlin/io/encoding/Base64Kt\n*L\n582#1:648,3\n601#1:651,3\n*E\n"
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u0000\u001e\n\u0000\n\u0002\u0010\u0015\n\u0002\u0008\u0003\n\u0002\u0010\u0012\n\u0002\u0008\u0006\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0008\n\u0000\u001a\u0010\u0010\u000b\u001a\u00020\u000c2\u0006\u0010\r\u001a\u00020\u000eH\u0001\"\u0016\u0010\u0000\u001a\u00020\u00018\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0002\u0010\u0003\"\u0016\u0010\u0004\u001a\u00020\u00058\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0006\u0010\u0003\"\u0016\u0010\u0007\u001a\u00020\u00018\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\u0008\u0010\u0003\"\u0016\u0010\t\u001a\u00020\u00058\u0002X\u0083\u0004\u00a2\u0006\u0008\n\u0000\u0012\u0004\u0008\n\u0010\u0003\u00a8\u0006\u000f"
|
||||
}
|
||||
d2 = {
|
||||
"base64DecodeMap",
|
||||
"",
|
||||
"getBase64DecodeMap$annotations",
|
||||
"()V",
|
||||
"base64EncodeMap",
|
||||
"",
|
||||
"getBase64EncodeMap$annotations",
|
||||
"base64UrlDecodeMap",
|
||||
"getBase64UrlDecodeMap$annotations",
|
||||
"base64UrlEncodeMap",
|
||||
"getBase64UrlEncodeMap$annotations",
|
||||
"isInMimeAlphabet",
|
||||
"",
|
||||
"symbol",
|
||||
"",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x2
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
|
||||
# static fields
|
||||
.field private static final base64DecodeMap:[I
|
||||
|
||||
.field private static final base64EncodeMap:[B
|
||||
|
||||
.field private static final base64UrlDecodeMap:[I
|
||||
|
||||
.field private static final base64UrlEncodeMap:[B
|
||||
|
||||
|
||||
# direct methods
|
||||
.method static constructor <clinit>()V
|
||||
.locals 10
|
||||
|
||||
const/16 v0, 0x40
|
||||
|
||||
.line 574
|
||||
new-array v0, v0, [B
|
||||
|
||||
fill-array-data v0, :array_0
|
||||
|
||||
.line 570
|
||||
sput-object v0, Lkotlin/io/encoding/Base64Kt;->base64EncodeMap:[B
|
||||
|
||||
const/16 v1, 0x100
|
||||
|
||||
.line 579
|
||||
new-array v1, v1, [I
|
||||
|
||||
const/4 v6, 0x6
|
||||
|
||||
const/4 v7, 0x0
|
||||
|
||||
const/4 v3, -0x1
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
const/4 v5, 0x0
|
||||
|
||||
move-object v2, v1
|
||||
|
||||
.line 580
|
||||
invoke-static/range {v2 .. v7}, Lkotlin/collections/ArraysKt;->fill$default([IIIIILjava/lang/Object;)V
|
||||
|
||||
const/16 v2, 0x3d
|
||||
|
||||
const/4 v3, -0x2
|
||||
|
||||
.line 581
|
||||
aput v3, v1, v2
|
||||
|
||||
.line 649
|
||||
array-length v2, v0
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
move v4, v3
|
||||
|
||||
move v5, v4
|
||||
|
||||
:goto_0
|
||||
if-ge v4, v2, :cond_0
|
||||
|
||||
aget-byte v6, v0, v4
|
||||
|
||||
add-int/lit8 v7, v5, 0x1
|
||||
|
||||
.line 583
|
||||
aput v5, v1, v6
|
||||
|
||||
add-int/lit8 v4, v4, 0x1
|
||||
|
||||
move v5, v7
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.line 579
|
||||
:cond_0
|
||||
sput-object v1, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
|
||||
|
||||
const/16 v0, 0x40
|
||||
|
||||
.line 593
|
||||
new-array v0, v0, [B
|
||||
|
||||
fill-array-data v0, :array_1
|
||||
|
||||
.line 589
|
||||
sput-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlEncodeMap:[B
|
||||
|
||||
const/16 v1, 0x100
|
||||
|
||||
.line 598
|
||||
new-array v1, v1, [I
|
||||
|
||||
const/4 v8, 0x6
|
||||
|
||||
const/4 v9, 0x0
|
||||
|
||||
const/4 v5, -0x1
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
const/4 v7, 0x0
|
||||
|
||||
move-object v4, v1
|
||||
|
||||
.line 599
|
||||
invoke-static/range {v4 .. v9}, Lkotlin/collections/ArraysKt;->fill$default([IIIIILjava/lang/Object;)V
|
||||
|
||||
const/16 v2, 0x3d
|
||||
|
||||
const/4 v4, -0x2
|
||||
|
||||
.line 600
|
||||
aput v4, v1, v2
|
||||
|
||||
.line 652
|
||||
array-length v2, v0
|
||||
|
||||
move v4, v3
|
||||
|
||||
:goto_1
|
||||
if-ge v3, v2, :cond_1
|
||||
|
||||
aget-byte v5, v0, v3
|
||||
|
||||
add-int/lit8 v6, v4, 0x1
|
||||
|
||||
.line 602
|
||||
aput v4, v1, v5
|
||||
|
||||
add-int/lit8 v3, v3, 0x1
|
||||
|
||||
move v4, v6
|
||||
|
||||
goto :goto_1
|
||||
|
||||
.line 598
|
||||
:cond_1
|
||||
sput-object v1, Lkotlin/io/encoding/Base64Kt;->base64UrlDecodeMap:[I
|
||||
|
||||
return-void
|
||||
|
||||
nop
|
||||
|
||||
:array_0
|
||||
.array-data 1
|
||||
0x41t
|
||||
0x42t
|
||||
0x43t
|
||||
0x44t
|
||||
0x45t
|
||||
0x46t
|
||||
0x47t
|
||||
0x48t
|
||||
0x49t
|
||||
0x4at
|
||||
0x4bt
|
||||
0x4ct
|
||||
0x4dt
|
||||
0x4et
|
||||
0x4ft
|
||||
0x50t
|
||||
0x51t
|
||||
0x52t
|
||||
0x53t
|
||||
0x54t
|
||||
0x55t
|
||||
0x56t
|
||||
0x57t
|
||||
0x58t
|
||||
0x59t
|
||||
0x5at
|
||||
0x61t
|
||||
0x62t
|
||||
0x63t
|
||||
0x64t
|
||||
0x65t
|
||||
0x66t
|
||||
0x67t
|
||||
0x68t
|
||||
0x69t
|
||||
0x6at
|
||||
0x6bt
|
||||
0x6ct
|
||||
0x6dt
|
||||
0x6et
|
||||
0x6ft
|
||||
0x70t
|
||||
0x71t
|
||||
0x72t
|
||||
0x73t
|
||||
0x74t
|
||||
0x75t
|
||||
0x76t
|
||||
0x77t
|
||||
0x78t
|
||||
0x79t
|
||||
0x7at
|
||||
0x30t
|
||||
0x31t
|
||||
0x32t
|
||||
0x33t
|
||||
0x34t
|
||||
0x35t
|
||||
0x36t
|
||||
0x37t
|
||||
0x38t
|
||||
0x39t
|
||||
0x2bt
|
||||
0x2ft
|
||||
.end array-data
|
||||
|
||||
:array_1
|
||||
.array-data 1
|
||||
0x41t
|
||||
0x42t
|
||||
0x43t
|
||||
0x44t
|
||||
0x45t
|
||||
0x46t
|
||||
0x47t
|
||||
0x48t
|
||||
0x49t
|
||||
0x4at
|
||||
0x4bt
|
||||
0x4ct
|
||||
0x4dt
|
||||
0x4et
|
||||
0x4ft
|
||||
0x50t
|
||||
0x51t
|
||||
0x52t
|
||||
0x53t
|
||||
0x54t
|
||||
0x55t
|
||||
0x56t
|
||||
0x57t
|
||||
0x58t
|
||||
0x59t
|
||||
0x5at
|
||||
0x61t
|
||||
0x62t
|
||||
0x63t
|
||||
0x64t
|
||||
0x65t
|
||||
0x66t
|
||||
0x67t
|
||||
0x68t
|
||||
0x69t
|
||||
0x6at
|
||||
0x6bt
|
||||
0x6ct
|
||||
0x6dt
|
||||
0x6et
|
||||
0x6ft
|
||||
0x70t
|
||||
0x71t
|
||||
0x72t
|
||||
0x73t
|
||||
0x74t
|
||||
0x75t
|
||||
0x76t
|
||||
0x77t
|
||||
0x78t
|
||||
0x79t
|
||||
0x7at
|
||||
0x30t
|
||||
0x31t
|
||||
0x32t
|
||||
0x33t
|
||||
0x34t
|
||||
0x35t
|
||||
0x36t
|
||||
0x37t
|
||||
0x38t
|
||||
0x39t
|
||||
0x2dt
|
||||
0x5ft
|
||||
.end array-data
|
||||
.end method
|
||||
|
||||
.method public static final synthetic access$getBase64DecodeMap$p()[I
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public static final synthetic access$getBase64EncodeMap$p()[B
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64EncodeMap:[B
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public static final synthetic access$getBase64UrlDecodeMap$p()[I
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlDecodeMap:[I
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public static final synthetic access$getBase64UrlEncodeMap$p()[B
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64UrlEncodeMap:[B
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method private static synthetic getBase64DecodeMap$annotations()V
|
||||
.locals 0
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private static synthetic getBase64EncodeMap$annotations()V
|
||||
.locals 0
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private static synthetic getBase64UrlDecodeMap$annotations()V
|
||||
.locals 0
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private static synthetic getBase64UrlEncodeMap$annotations()V
|
||||
.locals 0
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static final isInMimeAlphabet(I)Z
|
||||
.locals 2
|
||||
|
||||
if-ltz p0, :cond_0
|
||||
|
||||
.line 610
|
||||
sget-object v0, Lkotlin/io/encoding/Base64Kt;->base64DecodeMap:[I
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
if-ge p0, v1, :cond_0
|
||||
|
||||
aget p0, v0, p0
|
||||
|
||||
const/4 v0, -0x1
|
||||
|
||||
if-eq p0, v0, :cond_0
|
||||
|
||||
const/4 p0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 p0, 0x0
|
||||
|
||||
:goto_0
|
||||
return p0
|
||||
.end method
|
||||
@@ -0,0 +1,701 @@
|
||||
.class final Lkotlin/io/encoding/DecodeInputStream;
|
||||
.super Ljava/io/InputStream;
|
||||
.source "Base64IOStream.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0005\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0010\u0002\n\u0002\u0008\u000f\u0008\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0008\u0010\u0013\u001a\u00020\u0014H\u0016J \u0010\u0015\u001a\u00020\u00142\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0002J(\u0010\u0019\u001a\u00020\t2\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\u0010\u0010\u001c\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\u0008\u0010\u001d\u001a\u00020\tH\u0016J \u0010\u001d\u001a\u00020\t2\u0006\u0010\u001e\u001a\u00020\u00072\u0006\u0010\u001f\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0016J\u0008\u0010 \u001a\u00020\tH\u0002J\u0008\u0010!\u001a\u00020\u0014H\u0002J\u0008\u0010\"\u001a\u00020\u0014H\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0014\u0010\n\u001a\u00020\t8BX\u0082\u0004\u00a2\u0006\u0006\u001a\u0004\u0008\u000b\u0010\u000cR\u000e\u0010\r\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0010\u001a\u00020\u000fX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006#"
|
||||
}
|
||||
d2 = {
|
||||
"Lkotlin/io/encoding/DecodeInputStream;",
|
||||
"Ljava/io/InputStream;",
|
||||
"input",
|
||||
"base64",
|
||||
"Lkotlin/io/encoding/Base64;",
|
||||
"(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V",
|
||||
"byteBuffer",
|
||||
"",
|
||||
"byteBufferEndIndex",
|
||||
"",
|
||||
"byteBufferLength",
|
||||
"getByteBufferLength",
|
||||
"()I",
|
||||
"byteBufferStartIndex",
|
||||
"isClosed",
|
||||
"",
|
||||
"isEOF",
|
||||
"singleByteBuffer",
|
||||
"symbolBuffer",
|
||||
"close",
|
||||
"",
|
||||
"copyByteBufferInto",
|
||||
"dst",
|
||||
"dstOffset",
|
||||
"length",
|
||||
"decodeSymbolBufferInto",
|
||||
"dstEndIndex",
|
||||
"symbolBufferLength",
|
||||
"handlePaddingSymbol",
|
||||
"read",
|
||||
"destination",
|
||||
"offset",
|
||||
"readNextSymbol",
|
||||
"resetByteBufferIfEmpty",
|
||||
"shiftByteBufferToStartIfNeeded",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x1
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
.field private final byteBuffer:[B
|
||||
|
||||
.field private byteBufferEndIndex:I
|
||||
|
||||
.field private byteBufferStartIndex:I
|
||||
|
||||
.field private final input:Ljava/io/InputStream;
|
||||
|
||||
.field private isClosed:Z
|
||||
|
||||
.field private isEOF:Z
|
||||
|
||||
.field private final singleByteBuffer:[B
|
||||
|
||||
.field private final symbolBuffer:[B
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V
|
||||
.locals 1
|
||||
|
||||
const-string v0, "input"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
const-string v0, "base64"
|
||||
|
||||
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 67
|
||||
invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
|
||||
|
||||
.line 65
|
||||
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
|
||||
|
||||
.line 66
|
||||
iput-object p2, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
const/4 p1, 0x1
|
||||
|
||||
.line 70
|
||||
new-array p1, p1, [B
|
||||
|
||||
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
|
||||
|
||||
const/16 p1, 0x400
|
||||
|
||||
.line 72
|
||||
new-array p2, p1, [B
|
||||
|
||||
iput-object p2, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
.line 74
|
||||
new-array p1, p1, [B
|
||||
|
||||
iput-object p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private final copyByteBufferInto([BII)V
|
||||
.locals 3
|
||||
|
||||
.line 173
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
|
||||
|
||||
.line 176
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
add-int v2, v1, p3
|
||||
|
||||
.line 173
|
||||
invoke-static {v0, p1, p2, v1, v2}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
|
||||
|
||||
.line 179
|
||||
iget p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
add-int/2addr p1, p3
|
||||
|
||||
iput p1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
.line 180
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->resetByteBufferIfEmpty()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private final decodeSymbolBufferInto([BIII)I
|
||||
.locals 7
|
||||
|
||||
.line 158
|
||||
iget v6, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
.line 159
|
||||
iget-object v1, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
.line 160
|
||||
iget-object v2, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
move v3, v6
|
||||
|
||||
move v5, p4
|
||||
|
||||
.line 158
|
||||
invoke-virtual/range {v0 .. v5}, Lkotlin/io/encoding/Base64;->decodeIntoByteArray([B[BIII)I
|
||||
|
||||
move-result p4
|
||||
|
||||
add-int/2addr v6, p4
|
||||
|
||||
iput v6, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
.line 166
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
|
||||
|
||||
move-result p4
|
||||
|
||||
sub-int/2addr p3, p2
|
||||
|
||||
invoke-static {p4, p3}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result p3
|
||||
|
||||
.line 167
|
||||
invoke-direct {p0, p1, p2, p3}, Lkotlin/io/encoding/DecodeInputStream;->copyByteBufferInto([BII)V
|
||||
|
||||
.line 168
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->shiftByteBufferToStartIfNeeded()V
|
||||
|
||||
return p3
|
||||
.end method
|
||||
|
||||
.method private final getByteBufferLength()I
|
||||
.locals 2
|
||||
|
||||
.line 78
|
||||
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
sub-int/2addr v0, v1
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method private final handlePaddingSymbol(I)I
|
||||
.locals 4
|
||||
|
||||
.line 202
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
const/16 v1, 0x3d
|
||||
|
||||
aput-byte v1, v0, p1
|
||||
|
||||
and-int/lit8 v0, p1, 0x3
|
||||
|
||||
const/4 v1, 0x2
|
||||
|
||||
if-ne v0, v1, :cond_1
|
||||
|
||||
.line 206
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->readNextSymbol()I
|
||||
|
||||
move-result v0
|
||||
|
||||
if-ltz v0, :cond_0
|
||||
|
||||
.line 208
|
||||
iget-object v2, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
add-int/lit8 v3, p1, 0x1
|
||||
|
||||
int-to-byte v0, v0
|
||||
|
||||
aput-byte v0, v2, v3
|
||||
|
||||
:cond_0
|
||||
add-int/2addr p1, v1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
add-int/lit8 p1, p1, 0x1
|
||||
|
||||
:goto_0
|
||||
return p1
|
||||
.end method
|
||||
|
||||
.method private final readNextSymbol()I
|
||||
.locals 2
|
||||
|
||||
.line 218
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
invoke-virtual {v0}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
.line 219
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
|
||||
|
||||
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
|
||||
|
||||
move-result v0
|
||||
|
||||
return v0
|
||||
|
||||
.line 224
|
||||
:cond_0
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
|
||||
|
||||
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
|
||||
|
||||
move-result v0
|
||||
|
||||
const/4 v1, -0x1
|
||||
|
||||
if-eq v0, v1, :cond_1
|
||||
|
||||
.line 225
|
||||
invoke-static {v0}, Lkotlin/io/encoding/Base64Kt;->isInMimeAlphabet(I)Z
|
||||
|
||||
move-result v1
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
:cond_1
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method private final resetByteBufferIfEmpty()V
|
||||
.locals 2
|
||||
|
||||
.line 184
|
||||
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
if-ne v0, v1, :cond_0
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
.line 185
|
||||
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
.line 186
|
||||
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private final shiftByteBufferToStartIfNeeded()V
|
||||
.locals 4
|
||||
|
||||
.line 192
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
|
||||
|
||||
array-length v1, v0
|
||||
|
||||
iget v2, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
sub-int/2addr v1, v2
|
||||
|
||||
.line 193
|
||||
iget-object v3, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
array-length v3, v3
|
||||
|
||||
div-int/lit8 v3, v3, 0x4
|
||||
|
||||
mul-int/lit8 v3, v3, 0x3
|
||||
|
||||
if-le v3, v1, :cond_0
|
||||
|
||||
.line 195
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
invoke-static {v0, v0, v3, v1, v2}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
|
||||
|
||||
.line 196
|
||||
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
sub-int/2addr v0, v1
|
||||
|
||||
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
.line 197
|
||||
iput v3, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public close()V
|
||||
.locals 1
|
||||
|
||||
.line 149
|
||||
iget-boolean v0, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
.line 150
|
||||
iput-boolean v0, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
|
||||
|
||||
.line 151
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->input:Ljava/io/InputStream;
|
||||
|
||||
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public read()I
|
||||
.locals 4
|
||||
|
||||
.line 81
|
||||
iget v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferEndIndex:I
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
if-ge v0, v1, :cond_0
|
||||
|
||||
.line 82
|
||||
iget-object v1, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBuffer:[B
|
||||
|
||||
aget-byte v1, v1, v0
|
||||
|
||||
and-int/lit16 v1, v1, 0xff
|
||||
|
||||
add-int/2addr v0, v2
|
||||
|
||||
.line 83
|
||||
iput v0, p0, Lkotlin/io/encoding/DecodeInputStream;->byteBufferStartIndex:I
|
||||
|
||||
.line 84
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->resetByteBufferIfEmpty()V
|
||||
|
||||
return v1
|
||||
|
||||
.line 87
|
||||
:cond_0
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-virtual {p0, v0, v1, v2}, Lkotlin/io/encoding/DecodeInputStream;->read([BII)I
|
||||
|
||||
move-result v0
|
||||
|
||||
const/4 v3, -0x1
|
||||
|
||||
if-eq v0, v3, :cond_2
|
||||
|
||||
if-ne v0, v2, :cond_1
|
||||
|
||||
.line 89
|
||||
iget-object v0, p0, Lkotlin/io/encoding/DecodeInputStream;->singleByteBuffer:[B
|
||||
|
||||
aget-byte v0, v0, v1
|
||||
|
||||
and-int/lit16 v3, v0, 0xff
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
.line 90
|
||||
const-string v1, "Unreachable"
|
||||
|
||||
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
|
||||
|
||||
:cond_2
|
||||
:goto_0
|
||||
return v3
|
||||
.end method
|
||||
|
||||
.method public read([BII)I
|
||||
.locals 9
|
||||
|
||||
const-string v0, "destination"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
if-ltz p2, :cond_b
|
||||
|
||||
if-ltz p3, :cond_b
|
||||
|
||||
add-int v0, p2, p3
|
||||
|
||||
.line 95
|
||||
array-length v1, p1
|
||||
|
||||
if-gt v0, v1, :cond_b
|
||||
|
||||
.line 98
|
||||
iget-boolean v1, p0, Lkotlin/io/encoding/DecodeInputStream;->isClosed:Z
|
||||
|
||||
if-nez v1, :cond_a
|
||||
|
||||
.line 101
|
||||
iget-boolean v1, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
|
||||
|
||||
const/4 v2, -0x1
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
return v2
|
||||
|
||||
:cond_0
|
||||
const/4 v1, 0x0
|
||||
|
||||
if-nez p3, :cond_1
|
||||
|
||||
return v1
|
||||
|
||||
.line 108
|
||||
:cond_1
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
|
||||
|
||||
move-result v3
|
||||
|
||||
if-lt v3, p3, :cond_2
|
||||
|
||||
.line 109
|
||||
invoke-direct {p0, p1, p2, p3}, Lkotlin/io/encoding/DecodeInputStream;->copyByteBufferInto([BII)V
|
||||
|
||||
return p3
|
||||
|
||||
.line 113
|
||||
:cond_2
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->getByteBufferLength()I
|
||||
|
||||
move-result v3
|
||||
|
||||
sub-int/2addr p3, v3
|
||||
|
||||
add-int/lit8 p3, p3, 0x2
|
||||
|
||||
.line 114
|
||||
div-int/lit8 p3, p3, 0x3
|
||||
|
||||
mul-int/lit8 p3, p3, 0x4
|
||||
|
||||
move v3, p2
|
||||
|
||||
.line 119
|
||||
:goto_0
|
||||
iget-boolean v4, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
|
||||
|
||||
if-nez v4, :cond_8
|
||||
|
||||
if-lez p3, :cond_8
|
||||
|
||||
.line 121
|
||||
iget-object v4, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
array-length v4, v4
|
||||
|
||||
invoke-static {v4, p3}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result v4
|
||||
|
||||
move v5, v1
|
||||
|
||||
.line 123
|
||||
:goto_1
|
||||
iget-boolean v6, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
|
||||
|
||||
if-nez v6, :cond_5
|
||||
|
||||
if-ge v5, v4, :cond_5
|
||||
|
||||
.line 124
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/DecodeInputStream;->readNextSymbol()I
|
||||
|
||||
move-result v6
|
||||
|
||||
const/4 v7, 0x1
|
||||
|
||||
if-eq v6, v2, :cond_4
|
||||
|
||||
const/16 v8, 0x3d
|
||||
|
||||
if-eq v6, v8, :cond_3
|
||||
|
||||
.line 132
|
||||
iget-object v7, p0, Lkotlin/io/encoding/DecodeInputStream;->symbolBuffer:[B
|
||||
|
||||
int-to-byte v6, v6
|
||||
|
||||
aput-byte v6, v7, v5
|
||||
|
||||
add-int/lit8 v5, v5, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
.line 128
|
||||
:cond_3
|
||||
invoke-direct {p0, v5}, Lkotlin/io/encoding/DecodeInputStream;->handlePaddingSymbol(I)I
|
||||
|
||||
move-result v5
|
||||
|
||||
.line 129
|
||||
iput-boolean v7, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
|
||||
|
||||
goto :goto_1
|
||||
|
||||
.line 126
|
||||
:cond_4
|
||||
iput-boolean v7, p0, Lkotlin/io/encoding/DecodeInputStream;->isEOF:Z
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_5
|
||||
if-nez v6, :cond_7
|
||||
|
||||
if-ne v5, v4, :cond_6
|
||||
|
||||
goto :goto_2
|
||||
|
||||
.line 138
|
||||
:cond_6
|
||||
new-instance p1, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string p2, "Check failed."
|
||||
|
||||
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw p1
|
||||
|
||||
:cond_7
|
||||
:goto_2
|
||||
sub-int/2addr p3, v5
|
||||
|
||||
.line 142
|
||||
invoke-direct {p0, p1, v3, v0, v5}, Lkotlin/io/encoding/DecodeInputStream;->decodeSymbolBufferInto([BIII)I
|
||||
|
||||
move-result v4
|
||||
|
||||
add-int/2addr v3, v4
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_8
|
||||
if-ne v3, p2, :cond_9
|
||||
|
||||
if-eqz v4, :cond_9
|
||||
|
||||
goto :goto_3
|
||||
|
||||
:cond_9
|
||||
sub-int v2, v3, p2
|
||||
|
||||
:goto_3
|
||||
return v2
|
||||
|
||||
.line 99
|
||||
:cond_a
|
||||
new-instance p1, Ljava/io/IOException;
|
||||
|
||||
const-string p2, "The input stream is closed."
|
||||
|
||||
invoke-direct {p1, p2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw p1
|
||||
|
||||
.line 96
|
||||
:cond_b
|
||||
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
|
||||
|
||||
new-instance v1, Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v2, "offset: "
|
||||
|
||||
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
const-string v1, ", length: "
|
||||
|
||||
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
const-string p3, ", buffer size: "
|
||||
|
||||
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
array-length p1, p1
|
||||
|
||||
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
@@ -0,0 +1,567 @@
|
||||
.class final Lkotlin/io/encoding/EncodeOutputStream;
|
||||
.super Ljava/io/OutputStream;
|
||||
.source "Base64IOStream.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u000b\n\u0002\u0008\u0003\n\u0002\u0010\u0002\n\u0002\u0008\r\u0008\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0008\u0010\u000e\u001a\u00020\u000fH\u0002J\u0008\u0010\u0010\u001a\u00020\u000fH\u0016J \u0010\u0011\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\u0008\u0010\u0015\u001a\u00020\u000fH\u0002J \u0010\u0016\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\u0008\u0010\u0017\u001a\u00020\u000fH\u0016J \u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0019\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\tH\u0016J\u0010\u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u001b\u001a\u00020\tH\u0016R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000c\u001a\u00020\tX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0007X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001c"
|
||||
}
|
||||
d2 = {
|
||||
"Lkotlin/io/encoding/EncodeOutputStream;",
|
||||
"Ljava/io/OutputStream;",
|
||||
"output",
|
||||
"base64",
|
||||
"Lkotlin/io/encoding/Base64;",
|
||||
"(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V",
|
||||
"byteBuffer",
|
||||
"",
|
||||
"byteBufferLength",
|
||||
"",
|
||||
"isClosed",
|
||||
"",
|
||||
"lineLength",
|
||||
"symbolBuffer",
|
||||
"checkOpen",
|
||||
"",
|
||||
"close",
|
||||
"copyIntoByteBuffer",
|
||||
"source",
|
||||
"startIndex",
|
||||
"endIndex",
|
||||
"encodeByteBufferIntoOutput",
|
||||
"encodeIntoOutput",
|
||||
"flush",
|
||||
"write",
|
||||
"offset",
|
||||
"length",
|
||||
"b",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x1
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field private final base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
.field private final byteBuffer:[B
|
||||
|
||||
.field private byteBufferLength:I
|
||||
|
||||
.field private isClosed:Z
|
||||
|
||||
.field private lineLength:I
|
||||
|
||||
.field private final output:Ljava/io/OutputStream;
|
||||
|
||||
.field private final symbolBuffer:[B
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V
|
||||
.locals 1
|
||||
|
||||
const-string v0, "output"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
const-string v0, "base64"
|
||||
|
||||
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 235
|
||||
invoke-direct {p0}, Ljava/io/OutputStream;-><init>()V
|
||||
|
||||
.line 233
|
||||
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
|
||||
|
||||
.line 234
|
||||
iput-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
.line 238
|
||||
invoke-virtual {p2}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
|
||||
|
||||
move-result p1
|
||||
|
||||
if-eqz p1, :cond_0
|
||||
|
||||
const/16 p1, 0x4c
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 p1, -0x1
|
||||
|
||||
:goto_0
|
||||
iput p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
const/16 p1, 0x400
|
||||
|
||||
.line 240
|
||||
new-array p1, p1, [B
|
||||
|
||||
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
|
||||
|
||||
const/4 p1, 0x3
|
||||
|
||||
.line 242
|
||||
new-array p1, p1, [B
|
||||
|
||||
iput-object p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private final checkOpen()V
|
||||
.locals 2
|
||||
|
||||
.line 341
|
||||
iget-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
|
||||
|
||||
if-nez v0, :cond_0
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
new-instance v0, Ljava/io/IOException;
|
||||
|
||||
const-string v1, "The output stream is closed."
|
||||
|
||||
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
|
||||
.method private final copyIntoByteBuffer([BII)I
|
||||
.locals 4
|
||||
|
||||
.line 307
|
||||
iget v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
const/4 v1, 0x3
|
||||
|
||||
rsub-int/lit8 v0, v0, 0x3
|
||||
|
||||
sub-int/2addr p3, p2
|
||||
|
||||
invoke-static {v0, p3}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result p3
|
||||
|
||||
.line 308
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
|
||||
|
||||
iget v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
add-int v3, p2, p3
|
||||
|
||||
invoke-static {p1, v0, v2, p2, v3}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
|
||||
|
||||
.line 309
|
||||
iget p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
add-int/2addr p1, p3
|
||||
|
||||
iput p1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
if-ne p1, v1, :cond_0
|
||||
|
||||
.line 311
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
|
||||
|
||||
:cond_0
|
||||
return p3
|
||||
.end method
|
||||
|
||||
.method private final encodeByteBufferIntoOutput()V
|
||||
.locals 3
|
||||
|
||||
.line 317
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-direct {p0, v0, v2, v1}, Lkotlin/io/encoding/EncodeOutputStream;->encodeIntoOutput([BII)I
|
||||
|
||||
move-result v0
|
||||
|
||||
const/4 v1, 0x4
|
||||
|
||||
if-ne v0, v1, :cond_0
|
||||
|
||||
.line 319
|
||||
iput v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
return-void
|
||||
|
||||
.line 318
|
||||
:cond_0
|
||||
new-instance v0, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string v1, "Check failed."
|
||||
|
||||
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 private final encodeIntoOutput([BII)I
|
||||
.locals 6
|
||||
|
||||
.line 323
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
.line 325
|
||||
iget-object v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
move-object v1, p1
|
||||
|
||||
move v4, p2
|
||||
|
||||
move v5, p3
|
||||
|
||||
.line 323
|
||||
invoke-virtual/range {v0 .. v5}, Lkotlin/io/encoding/Base64;->encodeIntoByteArray([B[BIII)I
|
||||
|
||||
move-result p1
|
||||
|
||||
.line 330
|
||||
iget p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
if-nez p2, :cond_1
|
||||
|
||||
.line 331
|
||||
iget-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
|
||||
|
||||
sget-object p3, Lkotlin/io/encoding/Base64;->Default:Lkotlin/io/encoding/Base64$Default;
|
||||
|
||||
invoke-virtual {p3}, Lkotlin/io/encoding/Base64$Default;->getMimeLineSeparatorSymbols$kotlin_stdlib()[B
|
||||
|
||||
move-result-object p3
|
||||
|
||||
invoke-virtual {p2, p3}, Ljava/io/OutputStream;->write([B)V
|
||||
|
||||
const/16 p2, 0x4c
|
||||
|
||||
.line 332
|
||||
iput p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
if-gt p1, p2, :cond_0
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.line 333
|
||||
:cond_0
|
||||
new-instance p1, Ljava/lang/IllegalStateException;
|
||||
|
||||
const-string p2, "Check failed."
|
||||
|
||||
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw p1
|
||||
|
||||
.line 335
|
||||
:cond_1
|
||||
:goto_0
|
||||
iget-object p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
|
||||
|
||||
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-virtual {p2, p3, v0, p1}, Ljava/io/OutputStream;->write([BII)V
|
||||
|
||||
.line 336
|
||||
iget p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
sub-int/2addr p2, p1
|
||||
|
||||
iput p2, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
return p1
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public close()V
|
||||
.locals 1
|
||||
|
||||
.line 295
|
||||
iget-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
|
||||
|
||||
if-nez v0, :cond_1
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
.line 296
|
||||
iput-boolean v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->isClosed:Z
|
||||
|
||||
.line 297
|
||||
iget v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
.line 298
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
|
||||
|
||||
.line 300
|
||||
:cond_0
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
|
||||
|
||||
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public flush()V
|
||||
.locals 1
|
||||
|
||||
.line 290
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
|
||||
|
||||
.line 291
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->output:Ljava/io/OutputStream;
|
||||
|
||||
invoke-virtual {v0}, Ljava/io/OutputStream;->flush()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public write(I)V
|
||||
.locals 3
|
||||
|
||||
.line 246
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
|
||||
|
||||
.line 247
|
||||
iget-object v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
|
||||
|
||||
iget v1, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
add-int/lit8 v2, v1, 0x1
|
||||
|
||||
iput v2, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
int-to-byte p1, p1
|
||||
|
||||
aput-byte p1, v0, v1
|
||||
|
||||
const/4 p1, 0x3
|
||||
|
||||
if-ne v2, p1, :cond_0
|
||||
|
||||
.line 249
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->encodeByteBufferIntoOutput()V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public write([BII)V
|
||||
.locals 4
|
||||
|
||||
const-string v0, "source"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 254
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/EncodeOutputStream;->checkOpen()V
|
||||
|
||||
if-ltz p2, :cond_6
|
||||
|
||||
if-ltz p3, :cond_6
|
||||
|
||||
add-int v0, p2, p3
|
||||
|
||||
.line 255
|
||||
array-length v1, p1
|
||||
|
||||
if-gt v0, v1, :cond_6
|
||||
|
||||
if-nez p3, :cond_0
|
||||
|
||||
return-void
|
||||
|
||||
.line 262
|
||||
:cond_0
|
||||
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
const-string v1, "Check failed."
|
||||
|
||||
const/4 v2, 0x3
|
||||
|
||||
if-ge p3, v2, :cond_5
|
||||
|
||||
if-eqz p3, :cond_1
|
||||
|
||||
.line 268
|
||||
invoke-direct {p0, p1, p2, v0}, Lkotlin/io/encoding/EncodeOutputStream;->copyIntoByteBuffer([BII)I
|
||||
|
||||
move-result p3
|
||||
|
||||
add-int/2addr p2, p3
|
||||
|
||||
.line 269
|
||||
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
if-eqz p3, :cond_1
|
||||
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
:goto_0
|
||||
add-int/lit8 p3, p2, 0x3
|
||||
|
||||
if-gt p3, v0, :cond_4
|
||||
|
||||
.line 275
|
||||
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->base64:Lkotlin/io/encoding/Base64;
|
||||
|
||||
invoke-virtual {p3}, Lkotlin/io/encoding/Base64;->isMimeScheme$kotlin_stdlib()Z
|
||||
|
||||
move-result p3
|
||||
|
||||
if-eqz p3, :cond_2
|
||||
|
||||
iget p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->lineLength:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->symbolBuffer:[B
|
||||
|
||||
array-length p3, p3
|
||||
|
||||
:goto_1
|
||||
div-int/lit8 p3, p3, 0x4
|
||||
|
||||
sub-int v3, v0, p2
|
||||
|
||||
.line 276
|
||||
div-int/2addr v3, v2
|
||||
|
||||
invoke-static {p3, v3}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result p3
|
||||
|
||||
mul-int/lit8 v3, p3, 0x3
|
||||
|
||||
add-int/2addr v3, p2
|
||||
|
||||
.line 279
|
||||
invoke-direct {p0, p1, p2, v3}, Lkotlin/io/encoding/EncodeOutputStream;->encodeIntoOutput([BII)I
|
||||
|
||||
move-result p2
|
||||
|
||||
mul-int/lit8 p3, p3, 0x4
|
||||
|
||||
if-ne p2, p3, :cond_3
|
||||
|
||||
move p2, v3
|
||||
|
||||
goto :goto_0
|
||||
|
||||
.line 280
|
||||
:cond_3
|
||||
new-instance p1, Ljava/lang/IllegalStateException;
|
||||
|
||||
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw p1
|
||||
|
||||
.line 285
|
||||
:cond_4
|
||||
iget-object p3, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBuffer:[B
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-static {p1, p3, v1, p2, v0}, Lkotlin/collections/ArraysKt;->copyInto([B[BIII)[B
|
||||
|
||||
sub-int/2addr v0, p2
|
||||
|
||||
.line 286
|
||||
iput v0, p0, Lkotlin/io/encoding/EncodeOutputStream;->byteBufferLength:I
|
||||
|
||||
return-void
|
||||
|
||||
.line 262
|
||||
:cond_5
|
||||
new-instance p1, Ljava/lang/IllegalStateException;
|
||||
|
||||
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw p1
|
||||
|
||||
.line 256
|
||||
:cond_6
|
||||
new-instance v0, Ljava/lang/IndexOutOfBoundsException;
|
||||
|
||||
new-instance v1, Ljava/lang/StringBuilder;
|
||||
|
||||
const-string v2, "offset: "
|
||||
|
||||
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
|
||||
|
||||
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
const-string v1, ", length: "
|
||||
|
||||
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
const-string p3, ", source size: "
|
||||
|
||||
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
array-length p1, p1
|
||||
|
||||
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-direct {v0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
|
||||
|
||||
throw v0
|
||||
.end method
|
||||
@@ -0,0 +1,68 @@
|
||||
.class public interface abstract annotation Lkotlin/io/encoding/ExperimentalEncodingApi;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ExperimentalEncodingApi.kt"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/annotation/Annotation;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Ljava/lang/annotation/Documented;
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Ljava/lang/annotation/Retention;
|
||||
value = .enum Ljava/lang/annotation/RetentionPolicy;->CLASS:Ljava/lang/annotation/RetentionPolicy;
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Ljava/lang/annotation/Target;
|
||||
value = {
|
||||
.enum Ljava/lang/annotation/ElementType;->TYPE:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->METHOD:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->PARAMETER:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->CONSTRUCTOR:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->LOCAL_VARIABLE:Ljava/lang/annotation/ElementType;,
|
||||
.enum Ljava/lang/annotation/ElementType;->ANNOTATION_TYPE:Ljava/lang/annotation/ElementType;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\u0008\u0087\u0002\u0018\u00002\u00020\u0001B\u0000\u00a8\u0006\u0002"
|
||||
}
|
||||
d2 = {
|
||||
"Lkotlin/io/encoding/ExperimentalEncodingApi;",
|
||||
"",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x1
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x30
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/annotation/MustBeDocumented;
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/annotation/Retention;
|
||||
value = .enum Lkotlin/annotation/AnnotationRetention;->BINARY:Lkotlin/annotation/AnnotationRetention;
|
||||
.end annotation
|
||||
|
||||
.annotation runtime Lkotlin/annotation/Target;
|
||||
allowedTargets = {
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->CLASS:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->ANNOTATION_CLASS:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->FIELD:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->LOCAL_VARIABLE:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->VALUE_PARAMETER:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->CONSTRUCTOR:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->FUNCTION:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY_GETTER:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->PROPERTY_SETTER:Lkotlin/annotation/AnnotationTarget;,
|
||||
.enum Lkotlin/annotation/AnnotationTarget;->TYPEALIAS:Lkotlin/annotation/AnnotationTarget;
|
||||
}
|
||||
.end annotation
|
||||
@@ -0,0 +1,29 @@
|
||||
.class public final Lkotlin/io/encoding/StreamEncodingKt;
|
||||
.super Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;
|
||||
.source "Base64IOStream.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"kotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt"
|
||||
}
|
||||
k = 0x4
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x31
|
||||
.end annotation
|
||||
|
||||
|
||||
# direct methods
|
||||
.method private constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
.line 1
|
||||
invoke-direct {p0}, Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
@@ -0,0 +1,80 @@
|
||||
.class Lkotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt;
|
||||
.super Ljava/lang/Object;
|
||||
.source "Base64IOStream.kt"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation runtime Lkotlin/Metadata;
|
||||
d1 = {
|
||||
"\u0000\u0014\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a\u0014\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0014\u0010\u0004\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u00a8\u0006\u0006"
|
||||
}
|
||||
d2 = {
|
||||
"decodingWith",
|
||||
"Ljava/io/InputStream;",
|
||||
"base64",
|
||||
"Lkotlin/io/encoding/Base64;",
|
||||
"encodingWith",
|
||||
"Ljava/io/OutputStream;",
|
||||
"kotlin-stdlib"
|
||||
}
|
||||
k = 0x5
|
||||
mv = {
|
||||
0x1,
|
||||
0x8,
|
||||
0x0
|
||||
}
|
||||
xi = 0x31
|
||||
xs = "kotlin/io/encoding/StreamEncodingKt"
|
||||
.end annotation
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static final decodingWith(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)Ljava/io/InputStream;
|
||||
.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, "base64"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 40
|
||||
new-instance v0, Lkotlin/io/encoding/DecodeInputStream;
|
||||
|
||||
invoke-direct {v0, p0, p1}, Lkotlin/io/encoding/DecodeInputStream;-><init>(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V
|
||||
|
||||
check-cast v0, Ljava/io/InputStream;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
|
||||
.method public static final encodingWith(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)Ljava/io/OutputStream;
|
||||
.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, "base64"
|
||||
|
||||
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
|
||||
|
||||
.line 59
|
||||
new-instance v0, Lkotlin/io/encoding/EncodeOutputStream;
|
||||
|
||||
invoke-direct {v0, p0, p1}, Lkotlin/io/encoding/EncodeOutputStream;-><init>(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V
|
||||
|
||||
check-cast v0, Ljava/io/OutputStream;
|
||||
|
||||
return-object v0
|
||||
.end method
|
||||
Reference in New Issue
Block a user