.class Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream; .super Ljava/io/ObjectInputStream; .source "SerializationUtils.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lorg/apache/commons/lang3/SerializationUtils; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "ClassLoaderAwareObjectInputStream" .end annotation # static fields .field private static final primitiveTypes:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/Class<", "*>;>;" } .end annotation .end field # instance fields .field private final classLoader:Ljava/lang/ClassLoader; # direct methods .method public static constructor ()V .locals 3 .line 1 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V sput-object v0, Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream;->primitiveTypes:Ljava/util/Map; .line 2 sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class; const-string v2, "byte" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 3 sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class; const-string v2, "short" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 4 sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const-string v2, "int" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 5 sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class; const-string v2, "long" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 6 sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class; const-string v2, "float" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 7 sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class; const-string v2, "double" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 8 sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class; const-string v2, "boolean" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 9 sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class; const-string v2, "char" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 10 sget-object v1, Ljava/lang/Void;->TYPE:Ljava/lang/Class; const-string v2, "void" invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-void .end method .method public constructor (Ljava/io/InputStream;Ljava/lang/ClassLoader;)V .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-direct {p0, p1}, Ljava/io/ObjectInputStream;->(Ljava/io/InputStream;)V .line 2 iput-object p2, p0, Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream;->classLoader:Ljava/lang/ClassLoader; return-void .end method # virtual methods .method public resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/io/ObjectStreamClass;", ")", "Ljava/lang/Class<", "*>;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Ljava/lang/ClassNotFoundException; } .end annotation .line 1 invoke-virtual {p1}, Ljava/io/ObjectStreamClass;->getName()Ljava/lang/String; move-result-object p1 const/4 v0, 0x0 .line 2 :try_start_0 iget-object v1, p0, Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream;->classLoader:Ljava/lang/ClassLoader; invoke-static {p1, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object p1 :try_end_0 .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 return-object p1 .line 3 :catch_0 :try_start_1 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader; move-result-object v1 invoke-static {p1, v0, v1}, Ljava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; move-result-object p1 :try_end_1 .catch Ljava/lang/ClassNotFoundException; {:try_start_1 .. :try_end_1} :catch_1 return-object p1 :catch_1 move-exception v0 .line 4 sget-object v1, Lorg/apache/commons/lang3/SerializationUtils$ClassLoaderAwareObjectInputStream;->primitiveTypes:Ljava/util/Map; invoke-interface {v1, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/Class; if-eqz p1, :cond_0 return-object p1 .line 5 :cond_0 throw v0 .end method