.class public Lcom/esotericsoftware/kryo/serializers/AsmCachedFieldFactory; .super Ljava/lang/Object; .source "AsmCachedFieldFactory.java" # interfaces .implements Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedFieldFactory; # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public createCachedField(Ljava/lang/Class;Ljava/lang/reflect/Field;Lcom/esotericsoftware/kryo/serializers/FieldSerializer;)Lcom/esotericsoftware/kryo/serializers/FieldSerializer$CachedField; .locals 1 const-class p2, Ljava/lang/String; invoke-virtual {p1}, Ljava/lang/Class;->isPrimitive()Z move-result v0 if-eqz v0, :cond_8 sget-object p2, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_0 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmBooleanField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmBooleanField;->()V goto/16 :goto_0 :cond_0 sget-object p2, Ljava/lang/Byte;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_1 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmByteField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmByteField;->()V goto :goto_0 :cond_1 sget-object p2, Ljava/lang/Character;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_2 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmCharField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmCharField;->()V goto :goto_0 :cond_2 sget-object p2, Ljava/lang/Short;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_3 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmShortField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmShortField;->()V goto :goto_0 :cond_3 sget-object p2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_4 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmIntField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmIntField;->()V goto :goto_0 :cond_4 sget-object p2, Ljava/lang/Long;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_5 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmLongField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmLongField;->()V goto :goto_0 :cond_5 sget-object p2, Ljava/lang/Float;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_6 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmFloatField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmFloatField;->()V goto :goto_0 :cond_6 sget-object p2, Ljava/lang/Double;->TYPE:Ljava/lang/Class; if-ne p1, p2, :cond_7 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmDoubleField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmDoubleField;->()V goto :goto_0 :cond_7 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmObjectField; invoke-direct {p1, p3}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmObjectField;->(Lcom/esotericsoftware/kryo/serializers/FieldSerializer;)V goto :goto_0 :cond_8 if-ne p1, p2, :cond_a iget-object p1, p3, Lcom/esotericsoftware/kryo/serializers/FieldSerializer;->kryo:Lcom/esotericsoftware/kryo/Kryo; invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Kryo;->getReferences()Z move-result p1 if-eqz p1, :cond_9 iget-object p1, p3, Lcom/esotericsoftware/kryo/serializers/FieldSerializer;->kryo:Lcom/esotericsoftware/kryo/Kryo; invoke-virtual {p1}, Lcom/esotericsoftware/kryo/Kryo;->getReferenceResolver()Lcom/esotericsoftware/kryo/ReferenceResolver; move-result-object p1 invoke-interface {p1, p2}, Lcom/esotericsoftware/kryo/ReferenceResolver;->useReferences(Ljava/lang/Class;)Z move-result p1 if-nez p1, :cond_a :cond_9 new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmStringField; invoke-direct {p1}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmStringField;->()V goto :goto_0 :cond_a new-instance p1, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmObjectField; invoke-direct {p1, p3}, Lcom/esotericsoftware/kryo/serializers/AsmCacheFields$AsmObjectField;->(Lcom/esotericsoftware/kryo/serializers/FieldSerializer;)V :goto_0 return-object p1 .end method