.class public final Lkotlin/internal/PlatformImplementationsKt; .super Ljava/lang/Object; .source "PlatformImplementations.kt" # annotations .annotation runtime Lkotlin/Metadata; 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\u0003\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\"\u0010\u0010\u0000\u001a\u00020\u00018\u0000X\u0081\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\r" } d2 = { "IMPLEMENTATIONS", "Lkotlin/internal/PlatformImplementations;", "apiVersionIsAtLeast", "", "major", "", "minor", "patch", "castToBaseType", "T", "", "instance", "(Ljava/lang/Object;)Ljava/lang/Object;", "kotlin-stdlib" } k = 0x2 mv = { 0x1, 0x9, 0x0 } xi = 0x30 .end annotation # static fields .field public static final IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations; # direct methods .method static constructor ()V .locals 6 .line 51 new-instance v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations; invoke-direct {v0}, Lkotlin/internal/jdk8/JDK8PlatformImplementations;->()V :try_start_0 check-cast v0, Lkotlin/internal/PlatformImplementations; :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 sput-object v0, Lkotlin/internal/PlatformImplementationsKt;->IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations; return-void :catch_0 move-exception v1 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 v2, Lkotlin/internal/PlatformImplementations; invoke-virtual {v2}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v2 invoke-static {v0, v2}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_0 new-instance v3, Ljava/lang/ClassNotFoundException; new-instance v4, Ljava/lang/StringBuilder; const-string v5, "Instance class was loaded from a different classloader: " invoke-direct {v4, v5}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 const-string v4, ", base type classloader: " invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 check-cast v1, Ljava/lang/Throwable; invoke-direct {v3, v0, v1}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v3 :cond_0 throw v1 .end method .method public static final apiVersionIsAtLeast(III)Z .locals 1 .line 78 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; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Object;", ")TT;" } .end annotation const-string v0, "T" const/4 v1, 0x1 .line 56 :try_start_0 invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V move-object v1, p0 check-cast v1, Ljava/lang/Object; :try_end_0 .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0 return-object p0 :catch_0 move-exception v1 .line 58 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 invoke-static {v2, v0}, Lkotlin/jvm/internal/Intrinsics;->reifiedOperationMarker(ILjava/lang/String;)V const-class v0, Ljava/lang/Object; move-object v2, v0 check-cast v2, Ljava/lang/Class; .line 59 invoke-virtual {v0}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v0 .line 60 invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v2 if-nez v2, :cond_0 .line 61 new-instance v2, Ljava/lang/ClassNotFoundException; new-instance v3, Ljava/lang/StringBuilder; const-string v4, "Instance class was loaded from a different classloader: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 const-string v3, ", base type classloader: " invoke-virtual {p0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 check-cast v1, Ljava/lang/Throwable; invoke-direct {v2, p0, v1}, Ljava/lang/ClassNotFoundException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v2 .line 63 :cond_0 throw v1 .end method