.class public final Lcom/vungle/ads/internal/util/SafeObjectInputStream; .super Ljava/io/ObjectInputStream; .source "SourceFile" # instance fields .field private final allowed:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Ljava/lang/Class<", "*>;>;" } .end annotation .end field # direct methods .method public constructor (Ljava/io/InputStream;Ljava/util/List;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/io/InputStream;", "Ljava/util/List<", "+", "Ljava/lang/Class<", "*>;>;)V" } .end annotation .line 9 invoke-direct {p0, p1}, Ljava/io/ObjectInputStream;->(Ljava/io/InputStream;)V iput-object p2, p0, Lcom/vungle/ads/internal/util/SafeObjectInputStream;->allowed:Ljava/util/List; return-void .end method # virtual methods .method public resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/io/ObjectStreamClass;", ")", "Ljava/lang/Class<", "*>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/ClassNotFoundException;, Ljava/io/IOException; } .end annotation const-string v0, "desc" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 12 invoke-super {p0, p1}, Ljava/io/ObjectInputStream;->resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class; move-result-object v0 iget-object v1, p0, Lcom/vungle/ads/internal/util/SafeObjectInputStream;->allowed:Ljava/util/List; if-eqz v1, :cond_1 const-class v1, Ljava/lang/Number; .line 13 invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z move-result v1 if-nez v1, :cond_1 const-class v1, Ljava/lang/String; .line 14 invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_1 const-class v1, Ljava/lang/Boolean; invoke-static {v1, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_1 invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z move-result v1 if-nez v1, :cond_1 iget-object v1, p0, Lcom/vungle/ads/internal/util/SafeObjectInputStream;->allowed:Ljava/util/List; .line 15 invoke-interface {v1, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_0 goto :goto_0 .line 19 :cond_0 new-instance v0, Ljava/io/IOException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Deserialization is not allowed for " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/io/ObjectStreamClass;->getName()Ljava/lang/String; move-result-object p1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 :cond_1 :goto_0 const-string p1, "c" .line 17 invoke-static {v0, p1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object v0 .end method