PlatformImplementationsKt.smali
.class public final Lkotlin/internal/PlatformImplementationsKt;
.super Ljava/lang/Object;
.source "PlatformImplementations.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000\u001e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0004\n\u0002\u0010\u0000\n\u0002\u0008\u0004\u001a \u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00052\u0006\u0010\u0007\u001a\u00020\u0005H\u0001\u001a\"\u0010\u0008\u001a\u0002H\t\"\n\u0008\u0000\u0010\t\u0018\u0001*\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0083\u0008\u00a2\u0006\u0002\u0010\u000c\u001a\u0008\u0010\r\u001a\u00020\u0005H\u0002\"\u0010\u0010\u0000\u001a\u00020\u00018\u0000X\u0081\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u000e"
}
d2 = {
"IMPLEMENTATIONS",
"Lkotlin/internal/PlatformImplementations;",
"apiVersionIsAtLeast",
"",
"major",
"",
"minor",
"patch",
"castToBaseType",
"T",
"",
"instance",
"(Ljava/lang/Object;)Ljava/lang/Object;",
"getJavaVersion",
"kotlin-stdlib"
}
k = 0x2
mv = {
0x1,
0x4,
0x0
}
.end annotation
# static fields
.field public static final IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations;
# direct methods
.method static constructor <clinit>()V
.registers 11
.line 51
invoke-static {}, Lkotlin/internal/PlatformImplementationsKt;->getJavaVersion()I
move-result v0
const-string v1, "ClassCastException(\"Inst\u2026baseTypeCL\").initCause(e)"
const-string v2, ", base type classloader: "
const-string v3, "Instance classloader: "
const-string v4, "null cannot be cast to non-null type kotlin.internal.PlatformImplementations"
const-string v5, "Class.forName(\"kotlin.in\u2026entations\").newInstance()"
const v6, 0x10008
if-lt v0, v6, :cond_ae
:try_start_13
const-string v6, "kotlin.internal.jdk8.JDK8PlatformImplementations"
.line 54
invoke-static {v6}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v6
invoke-static {v6, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_20
.catch Ljava/lang/ClassNotFoundException; {:try_start_13 .. :try_end_20} :catch_60
if-eqz v6, :cond_28
:try_start_22
check-cast v6, Lkotlin/internal/PlatformImplementations;
goto/16 :goto_153
:catch_26
move-exception v7
goto :goto_2e
:cond_28
new-instance v7, Ljava/lang/NullPointerException;
invoke-direct {v7, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v7
:try_end_2e
.catch Ljava/lang/ClassCastException; {:try_start_22 .. :try_end_2e} :catch_26
.catch Ljava/lang/ClassNotFoundException; {:try_start_22 .. :try_end_2e} :catch_60
:goto_2e
:try_start_2e
invoke-virtual {v6}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v6
const-class v8, Lkotlin/internal/PlatformImplementations;
invoke-virtual {v8}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v8
new-instance v9, Ljava/lang/ClassCastException;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v9, v6}, Ljava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
check-cast v7, Ljava/lang/Throwable;
invoke-virtual {v9, v7}, Ljava/lang/ClassCastException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v6
invoke-static {v6, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
throw v6
:try_end_60
.catch Ljava/lang/ClassNotFoundException; {:try_start_2e .. :try_end_60} :catch_60
:catch_60
:try_start_60
const-string v6, "kotlin.internal.JRE8PlatformImplementations"
.line 57
invoke-static {v6}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v6
invoke-static {v6, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_6d
.catch Ljava/lang/ClassNotFoundException; {:try_start_60 .. :try_end_6d} :catch_ad
if-eqz v6, :cond_75
:try_start_6f
check-cast v6, Lkotlin/internal/PlatformImplementations;
goto/16 :goto_153
:catch_73
move-exception v7
goto :goto_7b
:cond_75
new-instance v7, Ljava/lang/NullPointerException;
invoke-direct {v7, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v7
:try_end_7b
.catch Ljava/lang/ClassCastException; {:try_start_6f .. :try_end_7b} :catch_73
.catch Ljava/lang/ClassNotFoundException; {:try_start_6f .. :try_end_7b} :catch_ad
:goto_7b
:try_start_7b
invoke-virtual {v6}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v6
const-class v8, Lkotlin/internal/PlatformImplementations;
invoke-virtual {v8}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v8
new-instance v9, Ljava/lang/ClassCastException;
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v10, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-direct {v9, v6}, Ljava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
check-cast v7, Ljava/lang/Throwable;
invoke-virtual {v9, v7}, Ljava/lang/ClassCastException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v6
invoke-static {v6, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
throw v6
:try_end_ad
.catch Ljava/lang/ClassNotFoundException; {:try_start_7b .. :try_end_ad} :catch_ad
:catch_ad
nop
:cond_ae
const v6, 0x10007
if-lt v0, v6, :cond_14e
:try_start_b3
const-string v0, "kotlin.internal.jdk7.JDK7PlatformImplementations"
.line 63
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
invoke-static {v0, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_c0
.catch Ljava/lang/ClassNotFoundException; {:try_start_b3 .. :try_end_c0} :catch_101
if-eqz v0, :cond_c9
:try_start_c2
move-object v6, v0
check-cast v6, Lkotlin/internal/PlatformImplementations;
goto/16 :goto_153
:catch_c7
move-exception v6
goto :goto_cf
:cond_c9
new-instance v6, Ljava/lang/NullPointerException;
invoke-direct {v6, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v6
:try_end_cf
.catch Ljava/lang/ClassCastException; {:try_start_c2 .. :try_end_cf} :catch_c7
.catch Ljava/lang/ClassNotFoundException; {:try_start_c2 .. :try_end_cf} :catch_101
:goto_cf
:try_start_cf
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
const-class v7, Lkotlin/internal/PlatformImplementations;
invoke-virtual {v7}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v7
new-instance v8, Ljava/lang/ClassCastException;
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v8, v0}, Ljava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
check-cast v6, Ljava/lang/Throwable;
invoke-virtual {v8, v6}, Ljava/lang/ClassCastException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
throw v0
:try_end_101
.catch Ljava/lang/ClassNotFoundException; {:try_start_cf .. :try_end_101} :catch_101
:catch_101
:try_start_101
const-string v0, "kotlin.internal.JRE7PlatformImplementations"
.line 66
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v0
invoke-static {v0, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
:try_end_10e
.catch Ljava/lang/ClassNotFoundException; {:try_start_101 .. :try_end_10e} :catch_14e
if-eqz v0, :cond_116
:try_start_110
move-object v6, v0
check-cast v6, Lkotlin/internal/PlatformImplementations;
goto :goto_153
:catch_114
move-exception v4
goto :goto_11c
:cond_116
new-instance v5, Ljava/lang/NullPointerException;
invoke-direct {v5, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v5
:try_end_11c
.catch Ljava/lang/ClassCastException; {:try_start_110 .. :try_end_11c} :catch_114
.catch Ljava/lang/ClassNotFoundException; {:try_start_110 .. :try_end_11c} :catch_14e
:goto_11c
:try_start_11c
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
const-class v5, Lkotlin/internal/PlatformImplementations;
invoke-virtual {v5}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v5
new-instance v6, Ljava/lang/ClassCastException;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v6, v0}, Ljava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
check-cast v4, Ljava/lang/Throwable;
invoke-virtual {v6, v4}, Ljava/lang/ClassCastException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
throw v0
:try_end_14e
.catch Ljava/lang/ClassNotFoundException; {:try_start_11c .. :try_end_14e} :catch_14e
.line 70
:catch_14e
:cond_14e
new-instance v6, Lkotlin/internal/PlatformImplementations;
invoke-direct {v6}, Lkotlin/internal/PlatformImplementations;-><init>()V
.line 50
:goto_153
sput-object v6, Lkotlin/internal/PlatformImplementationsKt;->IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations;
return-void
.end method
.method public static final apiVersionIsAtLeast(III)Z
.registers 4
.line 114
sget-object v0, Lkotlin/KotlinVersion;->CURRENT:Lkotlin/KotlinVersion;
invoke-virtual {v0, p0, p1, p2}, Lkotlin/KotlinVersion;->isAtLeast(III)Z
move-result p0
return p0
.end method
.method private static final synthetic castToBaseType(Ljava/lang/Object;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
const-string v0, "T"
const/4 v1, 0x1
.line 76
:try_start_3
invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V
check-cast p0, Ljava/lang/Object;
:try_end_8
.catch Ljava/lang/ClassCastException; {:try_start_3 .. :try_end_8} :catch_9
return-object p0
:catch_9
move-exception v1
.line 78
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object p0
const/4 v2, 0x4
.line 79
invoke-static {v2, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V
const-class v0, Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
.line 80
new-instance v2, Ljava/lang/ClassCastException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Instance classloader: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p0, ", base type classloader: "
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v2, p0}, Ljava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
check-cast v1, Ljava/lang/Throwable;
invoke-virtual {v2, v1}, Ljava/lang/ClassCastException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
move-result-object p0
const-string v0, "ClassCastException(\"Inst\u2026baseTypeCL\").initCause(e)"
invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
throw p0
.end method
.method private static final getJavaVersion()I
.registers 12
const-string v0, "java.specification.version"
.line 86
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const v1, 0x10006
if-eqz v0, :cond_67
.line 87
move-object v8, v0
check-cast v8, Ljava/lang/CharSequence;
const/16 v3, 0x2e
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x6
const/4 v7, 0x0
move-object v2, v8
invoke-static/range {v2 .. v7}, Lkotlin/text/StringsKt;->indexOf$default(Ljava/lang/CharSequence;CIZILjava/lang/Object;)I
move-result v9
const/high16 v10, 0x10000
if-gez v9, :cond_24
.line 89
:try_start_1d
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:try_end_21
.catch Ljava/lang/NumberFormatException; {:try_start_1d .. :try_end_21} :catch_23
mul-int v1, v0, v10
:catch_23
return v1
:cond_24
const/16 v3, 0x2e
add-int/lit8 v11, v9, 0x1
const/4 v5, 0x0
const/4 v6, 0x4
const/4 v7, 0x0
move-object v2, v8
move v4, v11
.line 91
invoke-static/range {v2 .. v7}, Lkotlin/text/StringsKt;->indexOf$default(Ljava/lang/CharSequence;CIZILjava/lang/Object;)I
move-result v2
if-gez v2, :cond_37
.line 92
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
:cond_37
const/4 v3, 0x0
const-string v4, "null cannot be cast to non-null type java.lang.String"
if-eqz v0, :cond_61
.line 94
invoke-virtual {v0, v3, v9}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
const-string v5, "(this as java.lang.Strin\u2026ing(startIndex, endIndex)"
invoke-static {v3, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
if-eqz v0, :cond_5b
.line 95
invoke-virtual {v0, v11, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-static {v0, v5}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
.line 97
:try_start_4e
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v2
mul-int v2, v2, v10
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:try_end_58
.catch Ljava/lang/NumberFormatException; {:try_start_4e .. :try_end_58} :catch_5a
add-int v1, v2, v0
:catch_5a
return v1
.line 95
:cond_5b
new-instance v0, Ljava/lang/NullPointerException;
invoke-direct {v0, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 94
:cond_61
new-instance v0, Ljava/lang/NullPointerException;
invoke-direct {v0, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_67
return v1
.end method