ASMSerializerFactory.smali

.class public Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;
.super Ljava/lang/Object;

# interfaces
.implements Lcom/tradplus/ads/common/serialization/asm/Opcodes;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;
    }
.end annotation


# static fields
.field static final b:Ljava/lang/String;

.field static final c:Ljava/lang/String;

.field static final d:Ljava/lang/String;

.field static final e:Ljava/lang/String;

.field static final f:Ljava/lang/String;

.field static final g:Ljava/lang/String;

.field static final h:Ljava/lang/String;

.field static final i:Ljava/lang/String;

.field static final j:Ljava/lang/String;


# instance fields
.field protected final a:Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;

.field private final k:Ljava/util/concurrent/atomic/AtomicLong;


# direct methods
.method static constructor <clinit>()V
    .registers 4

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/JSONSerializer;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/ObjectSerializer;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "L"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, ";"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/SerializeWriter;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f:Ljava/lang/String;

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-class v1, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    invoke-static {v1}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->h:Ljava/lang/String;

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/SerialContext;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->i:Ljava/lang/String;

    const-class v0, Lcom/tradplus/ads/common/serialization/serializer/SerializeFilterable;

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->j:Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .registers 2

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    new-instance v0, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;-><init>()V

    iput-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a:Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;

    new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;

    invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V

    iput-object v0, p0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->k:Ljava/util/concurrent/atomic/AtomicLong;

    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 8

    const/16 v0, 0x19

    const/4 v1, 0x0

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x1

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x2

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "seperator"

    invoke-virtual {p2, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x15

    invoke-interface {p1, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "(L"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, ";Ljava/lang/Object;C)C"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/16 v3, 0xb6

    const-string v4, "writeBefore"

    invoke-interface {p1, v3, v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p2, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    const/16 v0, 0x36

    invoke-interface {p1, v0, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V
    .registers 9

    iget-object v0, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;

    const/16 v1, 0xc0

    const-string v2, "entity"

    const/16 v3, 0x19

    if-eqz v0, :cond_3c

    invoke-virtual {p2, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v0}, Ljava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;

    move-result-object p2

    invoke-virtual {p2}, Ljava/lang/Class;->isInterface()Z

    move-result v2

    if-eqz v2, :cond_1e

    const/16 v2, 0xb9

    goto :goto_20

    :cond_1e
    const/16 v2, 0xb6

    :goto_20
    invoke-static {p2}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object p2

    invoke-virtual {v0}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;

    move-result-object v3

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/reflect/Method;)Ljava/lang/String;

    move-result-object v4

    invoke-interface {p1, v2, p2, v3, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v0}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;

    move-result-object p2

    iget-object v0, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {p2, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-nez p2, :cond_71

    goto :goto_68

    :cond_3c
    invoke-virtual {p2, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object p2, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;

    const/16 v0, 0xb4

    iget-object v2, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->declaringClass:Ljava/lang/Class;

    invoke-static {v2}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p2}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {p2}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;

    move-result-object v4

    invoke-static {v4}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v4

    invoke-interface {p1, v0, v2, v3, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p2}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;

    move-result-object p2

    iget-object v0, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {p2, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-nez p2, :cond_71

    :goto_68
    iget-object p2, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-static {p2}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object p2

    invoke-interface {p1, v1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    :cond_71
    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 10

    iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    const/16 v0, 0x19

    const/4 v1, 0x0

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x1

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x2

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    const/16 v3, 0x15

    const-string v4, "valueOf"

    const/16 v5, 0xb8

    if-ne p2, v2, :cond_31

    const-string p2, "byte"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Byte"

    const-string p3, "(B)Ljava/lang/Byte;"

    :goto_2c
    invoke-interface {p1, v5, p2, v4, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_e2

    :cond_31
    sget-object v2, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_43

    const-string p2, "short"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Short"

    const-string p3, "(S)Ljava/lang/Short;"

    goto :goto_2c

    :cond_43
    sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_55

    const-string p2, "int"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Integer"

    const-string p3, "(I)Ljava/lang/Integer;"

    goto :goto_2c

    :cond_55
    sget-object v2, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_67

    const-string p2, "char"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Character"

    const-string p3, "(C)Ljava/lang/Character;"

    goto :goto_2c

    :cond_67
    sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_7b

    const/16 p2, 0x16

    const-string v0, "long"

    invoke-virtual {p3, v0, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Long"

    const-string p3, "(J)Ljava/lang/Long;"

    goto :goto_2c

    :cond_7b
    sget-object v2, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_8f

    const/16 p2, 0x17

    const-string v0, "float"

    invoke-virtual {p3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Float"

    const-string p3, "(F)Ljava/lang/Float;"

    goto :goto_2c

    :cond_8f
    sget-object v2, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_a3

    const/16 p2, 0x18

    const-string v0, "double"

    invoke-virtual {p3, v0, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Double"

    const-string p3, "(D)Ljava/lang/Double;"

    goto :goto_2c

    :cond_a3
    sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne p2, v1, :cond_b6

    const-string p2, "boolean"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Boolean"

    const-string p3, "(Z)Ljava/lang/Boolean;"

    goto/16 :goto_2c

    :cond_b6
    const-class v1, Ljava/math/BigDecimal;

    if-ne p2, v1, :cond_c4

    const-string p2, "decimal"

    :goto_bc
    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v0, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto :goto_e2

    :cond_c4
    const-class v1, Ljava/lang/String;

    if-ne p2, v1, :cond_cb

    const-string p2, "string"

    goto :goto_bc

    :cond_cb
    invoke-virtual {p2}, Ljava/lang/Class;->isEnum()Z

    move-result v1

    if-eqz v1, :cond_d4

    const-string p2, "enum"

    goto :goto_bc

    :cond_d4
    const-class v1, Ljava/util/List;

    invoke-virtual {v1, p2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result p2

    if-eqz p2, :cond_df

    const-string p2, "list"

    goto :goto_bc

    :cond_df
    const-string p2, "object"

    goto :goto_bc

    :goto_e2
    const/16 p2, 0xb6

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "(L"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, ";Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Z"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "apply"

    invoke-interface {p1, p2, p3, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 9

    iget-boolean v0, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldTransient:Z

    if-eqz v0, :cond_2a

    const/16 v0, 0x19

    const-string v1, "out"

    invoke-virtual {p3, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->SkipTransientField:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {p1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v0, 0xb6

    sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "isEnabled"

    const-string v3, "(I)Z"

    invoke-interface {p1, v0, v1, v2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x9a

    invoke-interface {p1, v0, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_2a
    invoke-direct {p0, p1, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-static {p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-eqz v0, :cond_34

    return-void

    :cond_34
    invoke-direct {p0, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v0, 0x99

    invoke-interface {p1, v0, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p1, p2, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-direct {p0, p1, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V
    .registers 13

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v1, 0x0

    const/16 v2, 0x19

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v5, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v5, "_asm_ser_"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/16 v7, 0xb4

    invoke-interface {p2, v7, v3, v4, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v3, 0xc7

    invoke-interface {p2, v3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x1

    invoke-interface {p2, v2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object v3, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v3

    invoke-interface {p2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "(Ljava/lang/Class;)"

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    const/16 v6, 0xb6

    const-string v8, "getObjectWriter"

    invoke-interface {p2, v6, v3, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v6, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/16 v8, 0xb5

    invoke-interface {p2, v8, v3, v4, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {p2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object p1

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iget-object p3, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    invoke-interface {p2, v7, p1, p3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method private a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Ljava/lang/Class;)V
    .registers 13
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Ljava/lang/Class<",
            "*>;)V"
        }
    .end annotation

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v1, 0x0

    const/16 v2, 0x19

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v5, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v5, "_asm_list_item_ser_"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/16 v7, 0xb4

    invoke-interface {p2, v7, v3, v4, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v3, 0xc7

    invoke-interface {p2, v3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x1

    invoke-interface {p2, v2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p4}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object p4

    invoke-static {p4}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object p4

    invoke-interface {p2, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object p4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "(Ljava/lang/Class;)"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const/16 v4, 0xb6

    const-string v6, "getObjectWriter"

    invoke-interface {p2, v4, p4, v6, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object p4

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v4, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/16 v6, 0xb5

    invoke-interface {p2, v6, p4, v3, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {p2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object p1

    new-instance p4, Ljava/lang/StringBuilder;

    invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object p3, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {p4, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    sget-object p4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    invoke-interface {p2, v7, p1, p3, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method private a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 7
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v0, "object"

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v1, 0x3a

    invoke-interface {p2, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;IC)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            "IC)V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/16 v0, 0x36

    invoke-interface {p2, v0, p5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string p3, "out"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v0, 0x19

    invoke-interface {p2, v0, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p3, "seperator"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v1, 0x15

    invoke-interface {p2, v1, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v0, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {p2, v1, p5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    new-instance p5, Ljava/lang/StringBuilder;

    invoke-direct {p5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "(CLjava/lang/String;"

    invoke-virtual {p5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p5, p6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    const-string p6, ")V"

    invoke-virtual {p5, p6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p5

    const/16 p6, 0xb6

    const-string v0, "writeFieldValue"

    invoke-interface {p2, p6, p3, v0, p5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;[Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 31
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "[",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    move-object/from16 v3, p4

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v5, 0x1

    const/16 v6, 0x19

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v7, 0x0

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v8, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v9, Ljava/lang/StringBuilder;

    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V

    const-string v10, "("

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->j:Ljava/lang/String;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v10, ")Z"

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    const/16 v10, 0xb6

    const-string v11, "hasPropertyFilters"

    invoke-interface {v1, v10, v8, v11, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v8, 0x9a

    invoke-interface {v1, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v8, 0x2

    invoke-interface {v1, v6, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v8, 0x3

    invoke-interface {v1, v6, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v8, 0x4

    invoke-interface {v1, v6, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v8, 0x15

    const/4 v9, 0x5

    invoke-interface {v1, v8, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v9, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    const-string v12, "(L"

    invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v13, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v13, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    const/16 v13, 0xb7

    const-string v14, "writeNoneASM"

    invoke-interface {v1, v13, v9, v14, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v9, 0xb1

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v4, "out"

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v9

    invoke-interface {v1, v6, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v9, 0x10

    const/16 v11, 0x5b

    invoke-interface {v1, v9, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v13, "(I)V"

    const-string v14, "write"

    invoke-interface {v1, v10, v11, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    array-length v11, v2

    if-nez v11, :cond_ac

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v1, v6, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0x5d

    invoke-interface {v1, v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v10, v2, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void

    :cond_ac
    const/4 v15, 0x0

    :goto_ad
    if-ge v15, v11, :cond_86e

    add-int/lit8 v5, v11, -0x1

    if-ne v15, v5, :cond_b6

    const/16 v5, 0x5d

    goto :goto_b8

    :cond_b6
    const/16 v5, 0x2c

    :goto_b8
    aget-object v8, v2, v15

    iget-object v7, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    iget-object v9, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget v9, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    const/16 v10, 0x3a

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v9, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    const/16 v10, 0x59

    if-eq v7, v9, :cond_82c

    sget-object v9, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-eq v7, v9, :cond_82c

    sget-object v9, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_d8

    goto/16 :goto_82c

    :cond_d8
    sget-object v9, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_10d

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "writeLong"

    const-string v9, "(J)V"

    :goto_ef
    const/16 v10, 0xb6

    invoke-interface {v1, v10, v7, v8, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v7, 0x10

    invoke-interface {v1, v7, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v10, v5, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_fe
    move-object v9, v0

    move-object v0, v4

    move/from16 v18, v11

    move-object v7, v13

    move/from16 v19, v15

    const/16 v4, 0x19

    const/4 v5, 0x0

    const/4 v6, 0x1

    const/16 v8, 0x10

    goto/16 :goto_85b

    :cond_10d
    sget-object v9, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_129

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/4 v7, 0x4

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "writeFloat"

    const-string v9, "(FZ)V"

    goto :goto_ef

    :cond_129
    sget-object v9, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_145

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/4 v7, 0x4

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "writeDouble"

    const-string v9, "(DZ)V"

    goto :goto_ef

    :cond_145
    sget-object v9, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_17a

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "(Z)V"

    const/16 v9, 0xb6

    invoke-interface {v1, v9, v7, v14, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_15f
    const/16 v7, 0x10

    invoke-interface {v1, v7, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v9, v5, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_169
    move-object v9, v0

    move-object v0, v4

    move/from16 v18, v11

    move-object v7, v13

    move/from16 v19, v15

    const/16 v4, 0x19

    const/4 v5, 0x0

    const/4 v6, 0x1

    const/16 v8, 0x10

    const/16 v10, 0xb6

    goto/16 :goto_85b

    :cond_17a
    sget-object v9, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    if-ne v7, v9, :cond_1a5

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/16 v7, 0xb8

    const-string v8, "java/lang/Character"

    const-string v9, "toString"

    const-string v10, "(C)Ljava/lang/String;"

    invoke-interface {v1, v7, v8, v9, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v9, 0x10

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v7, "writeString"

    const-string v8, "(Ljava/lang/String;C)V"

    const/16 v10, 0xb6

    invoke-interface {v1, v10, v5, v7, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_fe

    :cond_1a5
    const/16 v9, 0x10

    const-class v10, Ljava/lang/String;

    if-ne v7, v10, :cond_1c4

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v7, "writeString"

    const-string v8, "(Ljava/lang/String;C)V"

    const/16 v9, 0xb6

    invoke-interface {v1, v9, v5, v7, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_169

    :cond_1c4
    const/16 v9, 0xb6

    invoke-virtual {v7}, Ljava/lang/Class;->isEnum()Z

    move-result v10

    if-eqz v10, :cond_1e6

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v7, 0x59

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "writeEnum"

    const-string v10, "(Ljava/lang/Enum;)V"

    invoke-interface {v1, v9, v7, v8, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_15f

    :cond_1e6
    const-class v9, Ljava/util/List;

    invoke-virtual {v9, v7}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v9

    if-eqz v9, :cond_5ac

    iget-object v7, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;

    instance-of v9, v7, Ljava/lang/Class;

    if-eqz v9, :cond_1f7

    const-class v7, Ljava/lang/Object;

    goto :goto_200

    :cond_1f7
    check-cast v7, Ljava/lang/reflect/ParameterizedType;

    invoke-interface {v7}, Ljava/lang/reflect/ParameterizedType;->getActualTypeArguments()[Ljava/lang/reflect/Type;

    move-result-object v7

    const/4 v9, 0x0

    aget-object v7, v7, v9

    :goto_200
    instance-of v9, v7, Ljava/lang/Class;

    if-eqz v9, :cond_20b

    move-object v9, v7

    check-cast v9, Ljava/lang/Class;

    const-class v10, Ljava/lang/Object;

    if-ne v9, v10, :cond_20c

    :cond_20b
    const/4 v9, 0x0

    :cond_20c
    invoke-direct {v0, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/16 v10, 0xc0

    const-string v6, "java/util/List"

    invoke-interface {v1, v10, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v6, "list"

    invoke-virtual {v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v10, 0x3a

    invoke-interface {v1, v10, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-class v6, Ljava/lang/String;

    if-ne v9, v6, :cond_258

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v6

    if-eqz v6, :cond_258

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v7, 0x19

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v6, "list"

    invoke-virtual {v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v7, "(Ljava/util/List;)V"

    const/16 v8, 0xb6

    invoke-interface {v1, v8, v6, v14, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move-object v0, v4

    move/from16 v20, v5

    move/from16 v18, v11

    move-object v9, v13

    move/from16 v19, v15

    const/16 v4, 0x15

    const/16 v5, 0x19

    const/16 v6, 0x10

    const/16 v7, 0xb6

    goto/16 :goto_590

    :cond_258
    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v10, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v10}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const-string v2, "list"

    invoke-virtual {v3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    move/from16 v18, v11

    const/16 v11, 0x19

    invoke-interface {v1, v11, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0xc7

    invoke-interface {v1, v2, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v1, v11, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v11, "writeNull"

    move/from16 v19, v15

    const-string v15, "()V"

    move/from16 v20, v5

    const/16 v5, 0xb6

    invoke-interface {v1, v5, v2, v11, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v2, 0xa7

    invoke-interface {v1, v2, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v2, "list"

    invoke-virtual {v3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    const/16 v5, 0x19

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0xb9

    const-string v10, "java/util/List"

    const-string v11, "size"

    const-string v15, "()I"

    invoke-interface {v1, v2, v10, v11, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v2, 0x36

    const-string v10, "size"

    invoke-virtual {v3, v10}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v10

    invoke-interface {v1, v2, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0x5b

    const/16 v5, 0x10

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v5, 0xb6

    invoke-interface {v1, v5, v2, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v5, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v5}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v10, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v10}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v11, 0x3

    invoke-interface {v1, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 v11, 0x36

    const-string v15, "i"

    move-object/from16 v17, v6

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v11, 0x15

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v6, "size"

    invoke-virtual {v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0xa2

    invoke-interface {v1, v6, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0x99

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v11, 0x19

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0x2c

    const/16 v11, 0x10

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v11, 0xb6

    invoke-interface {v1, v11, v6, v14, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v5, "list"

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v6, 0x19

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v6, 0x15

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v5, 0xb9

    const-string v6, "java/util/List"

    const-string v11, "get"

    move-object/from16 v21, v13

    const-string v13, "(I)Ljava/lang/Object;"

    invoke-interface {v1, v5, v6, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const-string v5, "list_item"

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v11, 0x3a

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v11, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v11}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v13

    move-object/from16 v22, v10

    const/16 v10, 0x19

    invoke-interface {v1, v10, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v13, 0xc7

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v13

    invoke-interface {v1, v10, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v13, "writeNull"

    move-object/from16 v23, v4

    const-string v4, "()V"

    move-object/from16 v24, v2

    const/16 v2, 0xb6

    invoke-interface {v1, v2, v10, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v2, 0xa7

    invoke-interface {v1, v2, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    if-eqz v9, :cond_4e8

    invoke-virtual {v9}, Ljava/lang/Class;->getModifiers()I

    move-result v10

    invoke-static {v10}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v10

    if-eqz v10, :cond_4e8

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v10

    const/16 v11, 0x19

    invoke-interface {v1, v11, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v10, "java/lang/Object"

    const-string v11, "getClass"

    const-string v13, "()Ljava/lang/Class;"

    move-object/from16 v25, v6

    const/16 v6, 0xb6

    invoke-interface {v1, v6, v10, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {v9}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v6

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v6, 0xa6

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {v0, v3, v1, v8, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Ljava/lang/Class;)V

    const-string v6, "list_item_desc"

    invoke-virtual {v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v10, 0x3a

    invoke-interface {v1, v10, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v10, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v10}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v11

    if-eqz v11, :cond_478

    const-string v11, "list_item_desc"

    invoke-virtual {v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x19

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v11, 0xc1

    sget-object v13, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/16 v11, 0x99

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v11, "list_item_desc"

    invoke-virtual {v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x19

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v11, 0xc0

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v11, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/4 v0, 0x1

    invoke-interface {v1, v13, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v11

    if-eqz v11, :cond_426

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    move-object/from16 v16, v7

    goto :goto_43c

    :cond_426
    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v11, 0x15

    invoke-interface {v1, v11, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v11, "java/lang/Integer"

    const-string v13, "valueOf"

    move-object/from16 v16, v7

    const-string v7, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v11, v13, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_43c
    invoke-static {v9}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v11, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    const-string v11, "writeAsArrayNonContext"

    const/16 v13, 0xb6

    invoke-interface {v1, v13, v0, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_47a

    :cond_478
    move-object/from16 v16, v7

    :goto_47a
    const-string v0, "list_item_desc"

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x19

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v6

    if-eqz v6, :cond_49a

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    goto :goto_4ae

    :cond_49a
    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x15

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v6, "java/lang/Integer"

    const-string v7, "valueOf"

    const-string v11, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v6, v7, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_4ae
    invoke-static {v9}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v0, 0xb9

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v11, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v7, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-interface {v1, v0, v6, v14, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_4ec

    :cond_4e8
    move-object/from16 v25, v6

    move-object/from16 v16, v7

    :goto_4ec
    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v0, 0x1

    const/16 v4, 0x19

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    invoke-interface {v1, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v4

    if-eqz v4, :cond_508

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 v4, 0x15

    goto :goto_51c

    :cond_508
    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v4, 0x15

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v5, "java/lang/Integer"

    const-string v6, "valueOf"

    const-string v7, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v5, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_51c
    if-eqz v9, :cond_549

    invoke-virtual {v9}, Ljava/lang/Class;->getModifiers()I

    move-result v0

    invoke-static {v0}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v0

    if-eqz v0, :cond_549

    move-object/from16 v7, v16

    check-cast v7, Ljava/lang/Class;

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v5, "writeWithFieldName"

    const-string v6, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    const/16 v7, 0xb6

    goto :goto_551

    :cond_549
    const/16 v7, 0xb6

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v5, "writeWithFieldName"

    const-string v6, "(Ljava/lang/Object;Ljava/lang/Object;)V"

    :goto_551
    invoke-interface {v1, v7, v0, v5, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v25

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/4 v2, 0x1

    invoke-interface {v1, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitIincInsn(II)V

    move-object/from16 v0, v24

    const/16 v2, 0xa7

    invoke-interface {v1, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v22

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v23

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    const/16 v5, 0x19

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0x5d

    const/16 v6, 0x10

    invoke-interface {v1, v6, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    move-object/from16 v9, v21

    const/16 v7, 0xb6

    invoke-interface {v1, v7, v2, v14, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v2, v17

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :goto_590
    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    move/from16 v5, v20

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v7, v2, v14, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v4, 0x19

    const/4 v5, 0x0

    const/4 v6, 0x1

    const/16 v8, 0x10

    const/16 v10, 0xb6

    move-object v7, v9

    goto/16 :goto_829

    :cond_5ac
    move-object v0, v4

    move/from16 v18, v11

    move-object v9, v13

    move/from16 v19, v15

    const/16 v4, 0x15

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    move-object/from16 v10, p0

    invoke-direct {v10, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/16 v11, 0x59

    invoke-interface {v1, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    const-string v13, "field_"

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v13, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v13}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v13

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    invoke-virtual {v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x3a

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v11, 0xc7

    invoke-interface {v1, v11, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x19

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v13, "writeNull"

    const-string v15, "()V"

    const/16 v4, 0xb6

    invoke-interface {v1, v4, v11, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v4, 0xa7

    invoke-interface {v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    const-string v13, "field_"

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v13, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v13}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v13

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    invoke-virtual {v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x19

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v11, "java/lang/Object"

    const-string v13, "getClass"

    const-string v15, "()Ljava/lang/Class;"

    move-object/from16 v21, v9

    const/16 v9, 0xb6

    invoke-interface {v1, v9, v11, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v9

    invoke-static {v9}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v9

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v9, 0xa6

    invoke-interface {v1, v9, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {v10, v3, v1, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v9, "fied_ser"

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v9

    const/16 v11, 0x3a

    invoke-interface {v1, v11, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v9, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v9}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v11, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v11}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v13

    if-eqz v13, :cond_706

    invoke-virtual {v7}, Ljava/lang/Class;->getModifiers()I

    move-result v13

    invoke-static {v13}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v13

    if-eqz v13, :cond_706

    const-string v13, "fied_ser"

    invoke-virtual {v3, v13}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v13

    const/16 v15, 0x19

    invoke-interface {v1, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v13, 0xc1

    sget-object v15, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/16 v13, 0x99

    invoke-interface {v1, v13, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v13, "fied_ser"

    invoke-virtual {v3, v13}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v13

    const/16 v15, 0x19

    invoke-interface {v1, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v13, 0xc0

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v13, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/4 v10, 0x1

    invoke-interface {v1, v15, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v10, Ljava/lang/StringBuilder;

    invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V

    const-string v13, "field_"

    invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v13, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v13}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v13

    invoke-virtual {v10, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v3, v10}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v10

    invoke-interface {v1, v15, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v15, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v10

    invoke-static {v10}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v10

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v10, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v10

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v13, Ljava/lang/StringBuilder;

    invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v13, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v15, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v15, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v13

    const-string v15, "writeAsArrayNonContext"

    move/from16 v20, v5

    const/16 v5, 0xb6

    invoke-interface {v1, v5, v10, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v5, 0xa7

    invoke-interface {v1, v5, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_708

    :cond_706
    move/from16 v20, v5

    :goto_708
    const-string v5, "fied_ser"

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v9, 0x19

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v5, 0x1

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v10, "field_"

    invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v10, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v10}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v5, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v9, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v5

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v5, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v5, 0xb9

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    new-instance v9, Ljava/lang/StringBuilder;

    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v9, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v10, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-interface {v1, v5, v7, v14, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v5, 0xa7

    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v8}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getFormat()Ljava/lang/String;

    move-result-object v5

    const/4 v6, 0x1

    const/16 v7, 0x19

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v9, Ljava/lang/StringBuilder;

    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V

    const-string v10, "field_"

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v10, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v10}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v10

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v9

    invoke-interface {v1, v7, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    if-eqz v5, :cond_7b0

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v8, "writeWithFormat"

    const-string v9, "(Ljava/lang/Object;Ljava/lang/String;)V"

    const/16 v10, 0xb6

    invoke-interface {v1, v10, v5, v8, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 v5, 0x0

    goto :goto_80a

    :cond_7b0
    sget v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v7, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object v5, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;

    instance-of v7, v5, Ljava/lang/Class;

    if-eqz v7, :cond_7d2

    check-cast v5, Ljava/lang/Class;

    invoke-virtual {v5}, Ljava/lang/Class;->isPrimitive()Z

    move-result v5

    if-eqz v5, :cond_7d2

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v7, "writeWithFieldName"

    const-string v8, "(Ljava/lang/Object;Ljava/lang/Object;)V"

    const/16 v9, 0xb6

    invoke-interface {v1, v9, v5, v7, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 v5, 0x0

    const/16 v10, 0xb6

    goto :goto_80a

    :cond_7d2
    const/4 v5, 0x0

    const/16 v7, 0x19

    invoke-interface {v1, v7, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v7, 0xb4

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v9

    new-instance v10, Ljava/lang/StringBuilder;

    invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v11, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v11, "_asm_fieldType"

    invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    const-string v11, "Ljava/lang/reflect/Type;"

    invoke-interface {v1, v7, v9, v10, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    iget v7, v8, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v8, "writeWithFieldName"

    const-string v9, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    const/16 v10, 0xb6

    invoke-interface {v1, v10, v7, v8, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_80a
    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    const/16 v4, 0x19

    invoke-interface {v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    move/from16 v2, v20

    const/16 v7, 0x10

    invoke-interface {v1, v7, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    move-object/from16 v7, v21

    invoke-interface {v1, v10, v2, v14, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v8, 0x10

    :goto_829
    move-object/from16 v9, p0

    goto :goto_85b

    :cond_82c
    :goto_82c
    move-object v0, v4

    move v2, v5

    move/from16 v18, v11

    move-object v7, v13

    move/from16 v19, v15

    const/16 v4, 0x19

    const/4 v5, 0x0

    const/4 v6, 0x1

    const/16 v10, 0xb6

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v9

    invoke-interface {v1, v4, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v9, 0x59

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    move-object/from16 v9, p0

    invoke-direct {v9, v1, v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    sget-object v8, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v11, "writeInt"

    invoke-interface {v1, v10, v8, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v8, 0x10

    invoke-interface {v1, v8, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v10, v2, v14, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_85b
    add-int/lit8 v15, v19, 0x1

    move-object/from16 v2, p3

    move-object v4, v0

    move-object v13, v7

    move-object v0, v9

    move/from16 v11, v18

    const/4 v5, 0x1

    const/16 v6, 0x19

    const/4 v7, 0x0

    const/16 v8, 0x15

    const/16 v9, 0x10

    goto/16 :goto_ad

    :cond_86e
    move-object v9, v0

    return-void
.end method

.method private b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 8

    const/16 v0, 0x19

    const/4 v1, 0x0

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x1

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v1, 0x2

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "seperator"

    invoke-virtual {p2, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x15

    invoke-interface {p1, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "(L"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, ";Ljava/lang/Object;C)C"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/16 v3, 0xb6

    const-string v4, "writeAfter"

    invoke-interface {p1, v3, v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p2, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    const/16 v0, 0x36

    invoke-interface {p1, v0, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    return-void
.end method

.method private b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 11

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const-string v1, "hasNameFilters"

    invoke-virtual {p3, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x15

    invoke-interface {p1, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v1, 0x99

    invoke-interface {p1, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    const/16 v1, 0x19

    const/4 v3, 0x0

    invoke-interface {p1, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x1

    invoke-interface {p1, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x2

    invoke-interface {p1, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v4, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    const-string v5, "valueOf"

    const/16 v6, 0xb8

    if-ne p2, v4, :cond_44

    const-string p2, "byte"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Byte"

    const-string p3, "(B)Ljava/lang/Byte;"

    :goto_3f
    invoke-interface {p1, v6, p2, v5, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_f5

    :cond_44
    sget-object v4, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_56

    const-string p2, "short"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Short"

    const-string p3, "(S)Ljava/lang/Short;"

    goto :goto_3f

    :cond_56
    sget-object v4, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_68

    const-string p2, "int"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Integer"

    const-string p3, "(I)Ljava/lang/Integer;"

    goto :goto_3f

    :cond_68
    sget-object v4, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_7a

    const-string p2, "char"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Character"

    const-string p3, "(C)Ljava/lang/Character;"

    goto :goto_3f

    :cond_7a
    sget-object v4, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_8e

    const/16 p2, 0x16

    const-string v1, "long"

    invoke-virtual {p3, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Long"

    const-string p3, "(J)Ljava/lang/Long;"

    goto :goto_3f

    :cond_8e
    sget-object v4, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_a2

    const/16 p2, 0x17

    const-string v1, "float"

    invoke-virtual {p3, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Float"

    const-string p3, "(F)Ljava/lang/Float;"

    goto :goto_3f

    :cond_a2
    sget-object v4, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne p2, v4, :cond_b6

    const/16 p2, 0x18

    const-string v1, "double"

    invoke-virtual {p3, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Double"

    const-string p3, "(D)Ljava/lang/Double;"

    goto :goto_3f

    :cond_b6
    sget-object v3, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne p2, v3, :cond_c9

    const-string p2, "boolean"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p2, "java/lang/Boolean"

    const-string p3, "(Z)Ljava/lang/Boolean;"

    goto/16 :goto_3f

    :cond_c9
    const-class v2, Ljava/math/BigDecimal;

    if-ne p2, v2, :cond_d7

    const-string p2, "decimal"

    :goto_cf
    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto :goto_f5

    :cond_d7
    const-class v2, Ljava/lang/String;

    if-ne p2, v2, :cond_de

    const-string p2, "string"

    goto :goto_cf

    :cond_de
    invoke-virtual {p2}, Ljava/lang/Class;->isEnum()Z

    move-result v2

    if-eqz v2, :cond_e7

    const-string p2, "enum"

    goto :goto_cf

    :cond_e7
    const-class v2, Ljava/util/List;

    invoke-virtual {v2, p2}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result p2

    if-eqz p2, :cond_f2

    const-string p2, "list"

    goto :goto_cf

    :cond_f2
    const-string p2, "object"

    goto :goto_cf

    :goto_f5
    const/16 p2, 0xb6

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "(L"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, ";Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "processKey"

    invoke-interface {p1, p2, p3, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 p2, 0x3a

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {p1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 10

    invoke-static {p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    const/16 v1, 0xb6

    const/16 v2, 0x19

    if-nez v0, :cond_42

    const/4 v0, 0x0

    invoke-interface {p1, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {p1, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x2

    invoke-interface {p1, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "(L"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ";Ljava/lang/Object;Ljava/lang/String;)Z"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v4, "applyName"

    invoke-interface {p1, v1, v0, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x99

    invoke-interface {p1, v0, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p1, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_42
    iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;

    if-nez p2, :cond_68

    const-string p2, "out"

    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->IgnoreNonFieldGetter:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget p2, p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string p3, "isEnabled"

    const-string v0, "(I)Z"

    invoke-interface {p1, v1, p2, p3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 p2, 0x9a

    invoke-interface {p1, p2, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_68
    return-void
.end method

.method private b(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 14
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v2, "java/lang/Enum"

    const/16 v3, 0xc0

    invoke-interface {p2, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v3, "enum"

    invoke-virtual {p4, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v5, 0x3a

    invoke-interface {p2, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {p4, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v5, 0x19

    invoke-interface {p2, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0xc7

    invoke-interface {p2, v4, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v4, 0xa7

    invoke-interface {p2, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-static {p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result p1

    const-string v4, "seperator"

    const/16 v6, 0x15

    const-string v7, "out"

    const/16 v8, 0xb6

    if-eqz p1, :cond_79

    invoke-virtual {p4, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v6, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p1, "name"

    const-string p3, "()Ljava/lang/String;"

    invoke-interface {p2, v8, v2, p1, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string p3, "writeFieldValueStringWithDoubleQuote"

    const-string v2, "(CLjava/lang/String;Ljava/lang/String;)V"

    goto :goto_d5

    :cond_79
    invoke-virtual {p4, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v6, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "write"

    const-string v4, "(I)V"

    invoke-interface {p2, v8, p1, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p4, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 p1, 0x3

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "writeFieldName"

    const-string v4, "(Ljava/lang/String;Z)V"

    invoke-interface {p2, v8, p1, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 p1, 0x1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p1

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v5, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object p1, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object p1

    invoke-static {p1}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object p1

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget p1, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p1

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object p1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string p3, "writeWithFieldName"

    const-string v2, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    :goto_d5
    invoke-interface {p2, v8, p1, p3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private b(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;[Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 23
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "[",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    move-object/from16 v7, p0

    move-object/from16 v8, p1

    move-object/from16 v9, p2

    move-object/from16 v10, p3

    move-object/from16 v11, p4

    new-instance v12, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v12}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    array-length v13, v10

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    const-string v6, "(L"

    const-string v15, "out"

    const/16 v5, 0xb6

    const/16 v1, 0x19

    if-nez v0, :cond_c4

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    invoke-interface {v9, v1, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->PrettyFormat:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v14, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v14

    invoke-interface {v9, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v4, "isEnabled"

    const-string v3, "(I)Z"

    invoke-interface {v9, v5, v14, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v3, 0x9a

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    array-length v3, v10

    const/4 v4, 0x0

    const/4 v14, 0x0

    :goto_4b
    if-ge v4, v3, :cond_59

    aget-object v5, v10, v4

    iget-object v5, v5, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;

    if-eqz v5, :cond_54

    const/4 v14, 0x1

    :cond_54
    add-int/lit8 v4, v4, 0x1

    const/16 v5, 0xb6

    goto :goto_4b

    :cond_59
    if-eqz v14, :cond_7b

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->IgnoreErrorGetter:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v3, v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    invoke-interface {v9, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v4, "isEnabled"

    const-string v5, "(I)Z"

    const/16 v14, 0xb6

    invoke-interface {v9, v14, v3, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v3, 0x99

    goto :goto_7d

    :cond_7b
    const/16 v3, 0xa7

    :goto_7d
    invoke-interface {v9, v3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v2, 0x0

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x1

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x2

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x3

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x4

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x5

    const/16 v3, 0x15

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0xb7

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v5, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    const-string v5, "write"

    invoke-interface {v9, v2, v3, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v2, 0xb1

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_c4
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_10d

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v2, 0x0

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x1

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x2

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x5

    const/16 v3, 0x15

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ";Ljava/lang/Object;I)Z"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v4, "writeReference"

    const/16 v5, 0xb6

    invoke-interface {v9, v5, v2, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v2, 0x99

    invoke-interface {v9, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v2, 0xb1

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_10d
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-eqz v0, :cond_11f

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-eqz v0, :cond_11c

    const-string v0, "writeAsArrayNonContext"

    goto :goto_121

    :cond_11c
    const-string v0, "writeAsArray"

    goto :goto_121

    :cond_11f
    const-string v0, "writeAsArrayNormal"

    :goto_121
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v2

    iget v2, v2, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->BeanToArray:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v3, v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    and-int/2addr v2, v3

    if-nez v2, :cond_197

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->BeanToArray:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v3, v3, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v3

    invoke-interface {v9, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v4, "isEnabled"

    const-string v5, "(I)Z"

    const/16 v14, 0xb6

    invoke-interface {v9, v14, v3, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v3, 0x99

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v3, 0x0

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x1

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x2

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x3

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x4

    invoke-interface {v9, v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v3, 0x5

    const/16 v4, 0x15

    invoke-interface {v9, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v5, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    const/16 v5, 0xb6

    invoke-interface {v9, v5, v3, v0, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xb1

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_1d5

    :cond_197
    const/4 v2, 0x0

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x1

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x2

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x3

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x4

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x5

    const/16 v3, 0x15

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v2

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const/16 v4, 0xb6

    invoke-interface {v9, v4, v2, v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xb1

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    :goto_1d5
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_249

    const/4 v0, 0x1

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "()"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->i:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "getContext"

    const/16 v4, 0xb6

    invoke-interface {v9, v4, v0, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x3a

    const-string v2, "parent"

    invoke-virtual {v11, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v9, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "parent"

    invoke-virtual {v11, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x2

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x3

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v0

    iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->i:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, "Ljava/lang/Object;Ljava/lang/Object;I)V"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "setContext"

    const/16 v4, 0xb6

    invoke-interface {v9, v4, v0, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_249
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v0

    iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->g:I

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteClassName:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v2, v2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    and-int/2addr v0, v2

    if-eqz v0, :cond_258

    const/4 v0, 0x1

    goto :goto_259

    :cond_258
    const/4 v0, 0x0

    :goto_259
    const/16 v14, 0x7b

    const/16 v5, 0x10

    if-nez v0, :cond_26b

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v2

    if-nez v2, :cond_266

    goto :goto_26b

    :cond_266
    invoke-interface {v9, v5, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto/16 :goto_326

    :cond_26b
    :goto_26b
    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v3, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v3}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    if-nez v0, :cond_299

    const/4 v0, 0x1

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x4

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v5, 0x2

    invoke-interface {v9, v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v5, "isWriteClassName"

    const-string v0, "(Ljava/lang/reflect/Type;Ljava/lang/Object;)Z"

    const/16 v1, 0xb6

    invoke-interface {v9, v1, v14, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x99

    invoke-interface {v9, v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_29b

    :cond_299
    const/16 v1, 0xb6

    :goto_29b
    const/4 v0, 0x4

    const/16 v5, 0x19

    invoke-interface {v9, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x2

    invoke-interface {v9, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "java/lang/Object"

    const-string v14, "getClass"

    const-string v5, "()Ljava/lang/Class;"

    invoke-interface {v9, v1, v0, v14, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xa5

    invoke-interface {v9, v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v9, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v4, 0x19

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0x7b

    const/16 v5, 0x10

    invoke-interface {v9, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v5, "write"

    const-string v14, "(I)V"

    invoke-interface {v9, v1, v0, v5, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 v0, 0x0

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v1

    iget-object v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;

    if-eqz v1, :cond_2e9

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v1

    iget-object v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;

    invoke-interface {v9, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    goto :goto_2ec

    :cond_2e9
    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    :goto_2ec
    const/4 v0, 0x2

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ";Ljava/lang/String;Ljava/lang/Object;)V"

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v4, "writeClassName"

    const/16 v5, 0xb6

    invoke-interface {v9, v5, v0, v4, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x2c

    const/16 v5, 0x10

    invoke-interface {v9, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xa7

    invoke-interface {v9, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v9, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v0, 0x7b

    invoke-interface {v9, v5, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :goto_326
    const/16 v0, 0x36

    const-string v1, "seperator"

    invoke-virtual {v11, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    invoke-interface {v9, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_33a

    invoke-direct {v7, v9, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    :cond_33a
    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_3ca

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v1, 0x19

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "isNotWriteDefaultValue"

    const-string v3, "()Z"

    const/16 v4, 0xb6

    invoke-interface {v9, v4, v0, v2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x36

    const-string v2, "notWriteDefaultValue"

    invoke-virtual {v11, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v9, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x0

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "("

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->j:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, ")Z"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "checkValue"

    const/16 v3, 0xb6

    invoke-interface {v9, v3, v0, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x36

    const-string v1, "checkValue"

    invoke-virtual {v11, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    invoke-interface {v9, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    const/16 v1, 0x19

    invoke-interface {v9, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x0

    invoke-interface {v9, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "("

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->j:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, ")Z"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v4, "hasNameFilters"

    const/16 v6, 0xb6

    invoke-interface {v9, v6, v0, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x36

    const-string v3, "hasNameFilters"

    invoke-virtual {v11, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {v9, v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto :goto_3cf

    :cond_3ca
    const/16 v1, 0x19

    const/4 v2, 0x0

    const/16 v6, 0xb6

    :goto_3cf
    const/4 v14, 0x0

    :goto_3d0
    if-ge v14, v13, :cond_488

    aget-object v3, v10, v14

    iget-object v0, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    iget-object v2, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-interface {v9, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v2, 0x3a

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v9, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    if-eq v0, v2, :cond_465

    sget-object v2, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-eq v0, v2, :cond_465

    sget-object v2, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne v0, v2, :cond_3f0

    goto/16 :goto_465

    :cond_3f0
    sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne v0, v2, :cond_3fb

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    :goto_3f7
    const/16 v10, 0x10

    goto/16 :goto_47c

    :cond_3fb
    sget-object v2, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne v0, v2, :cond_403

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_3f7

    :cond_403
    sget-object v2, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne v0, v2, :cond_40b

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_3f7

    :cond_40b
    sget-object v2, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne v0, v2, :cond_42c

    const-string v0, "boolean"

    invoke-virtual {v11, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v16

    const/16 v17, 0x5a

    move-object/from16 v0, p0

    const/16 v4, 0x19

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    move-object/from16 v4, p4

    const/16 v6, 0x10

    const/16 v10, 0xb6

    move/from16 v5, v16

    const/16 v10, 0x10

    move/from16 v6, v17

    goto :goto_479

    :cond_42c
    const/16 v10, 0x10

    sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    if-ne v0, v1, :cond_43b

    const-string v0, "char"

    invoke-virtual {v11, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v6, 0x43

    goto :goto_471

    :cond_43b
    const-class v1, Ljava/lang/String;

    if-ne v0, v1, :cond_443

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_47c

    :cond_443
    const-class v1, Ljava/math/BigDecimal;

    if-ne v0, v1, :cond_44b

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_47c

    :cond_44b
    const-class v1, Ljava/util/List;

    invoke-virtual {v1, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v1

    if-eqz v1, :cond_457

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->h(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_47c

    :cond_457
    invoke-virtual {v0}, Ljava/lang/Class;->isEnum()Z

    move-result v0

    if-eqz v0, :cond_461

    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_47c

    :cond_461
    invoke-direct {v7, v8, v9, v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    goto :goto_47c

    :cond_465
    :goto_465
    const/16 v10, 0x10

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v11, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v6, 0x49

    :goto_471
    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    move-object/from16 v4, p4

    :goto_479
    invoke-direct/range {v0 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;IC)V

    :goto_47c
    add-int/lit8 v14, v14, 0x1

    move-object/from16 v10, p3

    const/16 v1, 0x19

    const/16 v5, 0x10

    const/16 v6, 0xb6

    goto/16 :goto_3d0

    :cond_488
    const/16 v10, 0x10

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_493

    invoke-direct {v7, v9, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    :cond_493
    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const-string v2, "seperator"

    invoke-virtual {v11, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    const/16 v3, 0x15

    invoke-interface {v9, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0x7b

    invoke-interface {v9, v10, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitIntInsn(II)V

    const/16 v3, 0xa0

    invoke-interface {v9, v3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    const/16 v4, 0x19

    invoke-interface {v9, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v9, v10, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v3, "write"

    const-string v5, "(I)V"

    const/16 v6, 0xb6

    invoke-interface {v9, v6, v2, v3, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v9, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v11, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0x7d

    invoke-interface {v9, v10, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "write"

    const-string v3, "(I)V"

    invoke-interface {v9, v6, v0, v2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v9, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v9, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-nez v0, :cond_51b

    const/4 v0, 0x1

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "parent"

    invoke-virtual {v11, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v9, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "("

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->i:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, ")V"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-string v2, "setContext"

    const/16 v3, 0xb6

    invoke-interface {v9, v3, v0, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_51b
    return-void
.end method

.method private c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 7

    invoke-static {p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    const/16 v1, 0xb6

    const-string v2, "out"

    const/16 v3, 0x19

    if-eqz v0, :cond_1f

    invoke-virtual {p2, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v0, "writeFieldNameDirect"

    const-string v2, "(Ljava/lang/String;)V"

    goto :goto_35

    :cond_1f
    invoke-virtual {p2, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p1, v3, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 p2, 0x3

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v0, "writeFieldName"

    const-string v2, "(Ljava/lang/String;Z)V"

    :goto_35
    invoke-interface {p1, v1, p2, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method private c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 15

    iget-object v0, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v3, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v3}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-interface {p1, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {p2}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getAnnotation()Lcom/tradplus/ads/common/serialization/annotation/JSONField;

    move-result-object p2

    const/4 v1, 0x0

    if-eqz p2, :cond_29

    invoke-interface {p2}, Lcom/tradplus/ads/common/serialization/annotation/JSONField;->serialzeFeatures()[Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    move-result-object p2

    invoke-static {p2}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->of([Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)I

    move-result p2

    goto :goto_2a

    :cond_29
    const/4 p2, 0x0

    :goto_2a
    invoke-static {p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v5

    iget-object v5, v5, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->d:Lcom/tradplus/ads/common/serialization/annotation/JSONType;

    if-eqz v5, :cond_3b

    invoke-interface {v5}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->serialzeFeatures()[Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    move-result-object v5

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->of([Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;)I

    move-result v5

    or-int/2addr p2, v5

    :cond_3b
    const-class v5, Ljava/lang/String;

    if-ne v0, v5, :cond_4d

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    invoke-virtual {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->getMask()I

    move-result v5

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullStringAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    :goto_47
    invoke-virtual {v6}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->getMask()I

    move-result v6

    or-int/2addr v5, v6

    goto :goto_7e

    :cond_4d
    const-class v5, Ljava/lang/Number;

    invoke-virtual {v5, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v5

    if-eqz v5, :cond_5e

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    invoke-virtual {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->getMask()I

    move-result v5

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullNumberAsZero:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_47

    :cond_5e
    const-class v5, Ljava/util/Collection;

    invoke-virtual {v5, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v5

    if-eqz v5, :cond_6f

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    invoke-virtual {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->getMask()I

    move-result v5

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullListAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_47

    :cond_6f
    const-class v5, Ljava/lang/Boolean;

    if-ne v5, v0, :cond_7c

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteMapNullValue:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    invoke-virtual {v5}, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->getMask()I

    move-result v5

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullBooleanAsFalse:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_47

    :cond_7c
    sget v5, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WRITE_MAP_NULL_FEATURES:I

    :goto_7e
    and-int v6, p2, v5

    const/16 v7, 0xb6

    const-string v8, "out"

    const/16 v9, 0x19

    if-nez v6, :cond_a4

    invoke-virtual {p3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {p1, v9, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-interface {p1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v6, "isEnabled"

    const-string v10, "(I)Z"

    invoke-interface {p1, v7, v5, v6, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v5, 0x99

    invoke-interface {p1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_a4
    invoke-interface {p1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {p3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {p1, v9, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v3, 0x15

    const-string v5, "seperator"

    invoke-virtual {p3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    invoke-interface {p1, v3, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v5, "write"

    const-string v6, "(I)V"

    invoke-interface {p1, v7, v3, v5, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p1, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-virtual {p3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {p1, v9, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const-class p2, Ljava/lang/String;

    if-eq v0, p2, :cond_105

    const-class p2, Ljava/lang/Character;

    if-ne v0, p2, :cond_dc

    goto :goto_105

    :cond_dc
    const-class p2, Ljava/lang/Number;

    invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result p2

    if-eqz p2, :cond_e7

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullNumberAsZero:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_107

    :cond_e7
    const-class p2, Ljava/lang/Boolean;

    if-ne v0, p2, :cond_ee

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullBooleanAsFalse:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_107

    :cond_ee
    const-class p2, Ljava/util/Collection;

    invoke-virtual {p2, v0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result p2

    if-nez p2, :cond_102

    invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z

    move-result p2

    if-eqz p2, :cond_fd

    goto :goto_102

    :cond_fd
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    goto :goto_10d

    :cond_102
    :goto_102
    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullListAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    goto :goto_107

    :cond_105
    :goto_105
    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->WriteNullStringAsEmpty:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    :goto_107
    iget p2, p2, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object p2

    :goto_10d
    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v0, "writeNull"

    const-string v1, "(II)V"

    invoke-interface {p1, v7, p2, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p1, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 p2, 0xa7

    invoke-interface {p1, p2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 7

    const/16 p3, 0x19

    const/4 v0, 0x0

    invoke-interface {p1, p3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {p1, p3, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->label:Ljava/lang/String;

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object p2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance p3, Ljava/lang/StringBuilder;

    invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v0, "(L"

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v0, ";Ljava/lang/String;)Z"

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    const/16 v0, 0xb6

    const-string v1, "applyLabel"

    invoke-interface {p1, v0, p2, v1, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 p2, 0x99

    invoke-interface {p1, p2, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private c(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/4 v0, 0x2

    const-string v1, "long"

    invoke-virtual {p4, v1, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result v2

    const/16 v3, 0x37

    invoke-interface {p2, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string p3, "out"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v2, 0x19

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p3, "seperator"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v3, 0x15

    invoke-interface {p2, v3, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v1, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    const/16 v0, 0x16

    invoke-interface {p2, v0, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v0, 0xb6

    const-string v1, "writeFieldValue"

    const-string v2, "(CLjava/lang/String;J)V"

    invoke-interface {p2, v0, p3, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 5

    const/16 v0, 0x10

    const/16 v1, 0x2c

    invoke-interface {p1, v0, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v0, "seperator"

    invoke-virtual {p2, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    const/16 v0, 0x36

    invoke-interface {p1, v0, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    return-void
.end method

.method private d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 24

    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    move-object/from16 v3, p3

    invoke-virtual/range {p2 .. p2}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getFormat()Ljava/lang/String;

    move-result-object v4

    iget-object v5, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v7

    const-string v8, "object"

    const/16 v9, 0x19

    if-eqz v7, :cond_22

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    goto :goto_24

    :cond_22
    sget v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c:I

    :goto_24
    invoke-interface {v1, v9, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v7, 0x59

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    const/16 v10, 0x3a

    invoke-interface {v1, v10, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v7, 0xc7

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct/range {p0 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v7, 0xa7

    move-object/from16 v11, p4

    invoke-interface {v1, v7, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v6, "out"

    invoke-virtual {v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v9, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0x15

    const-string v11, "seperator"

    invoke-virtual {v3, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    invoke-interface {v1, v6, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v11, "write"

    const/16 v12, 0xb6

    const-string v13, "(I)V"

    invoke-interface {v1, v12, v6, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {v0, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v13, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v13}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v5}, Ljava/lang/Class;->getModifiers()I

    move-result v14

    invoke-static {v14}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v14

    const-string v15, "Ljava/lang/reflect/Type;"

    const-string v7, "_asm_fieldType"

    if-eqz v14, :cond_1e5

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/parser/ParserConfig;->isPrimitive2(Ljava/lang/Class;)Z

    move-result v14

    if-nez v14, :cond_1e5

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    invoke-interface {v1, v9, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v14, "java/lang/Object"

    const-string v10, "getClass"

    const-string v9, "()Ljava/lang/Class;"

    invoke-interface {v1, v12, v14, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v5

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v5, 0xa6

    invoke-interface {v1, v5, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {v0, v3, v1, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v5, "fied_ser"

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v9

    const/16 v10, 0x3a

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v9, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v9}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v10, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v10}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    const/16 v12, 0x19

    invoke-interface {v1, v12, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v12, 0xc1

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v12, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/16 v12, 0x99

    invoke-interface {v1, v12, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    iget v12, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->DisableCircularReferenceDetect:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v14, v14, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    and-int/2addr v12, v14

    if-eqz v12, :cond_df

    const/4 v12, 0x1

    goto :goto_e0

    :cond_df
    const/4 v12, 0x0

    :goto_e0
    iget v14, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->BeanToArray:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v0, v0, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    and-int/2addr v0, v14

    if-eqz v0, :cond_eb

    const/4 v0, 0x1

    goto :goto_ec

    :cond_eb
    const/4 v0, 0x0

    :goto_ec
    if-nez v12, :cond_102

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v12

    if-eqz v12, :cond_fb

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v12

    if-eqz v12, :cond_fb

    goto :goto_102

    :cond_fb
    if-eqz v0, :cond_100

    const-string v0, "writeAsArray"

    goto :goto_109

    :cond_100
    move-object v0, v11

    goto :goto_109

    :cond_102
    :goto_102
    if-eqz v0, :cond_107

    const-string v0, "writeAsArrayNonContext"

    goto :goto_109

    :cond_107
    const-string v0, "writeDirectNonContext"

    :goto_109
    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v12

    const/16 v14, 0x19

    invoke-interface {v1, v14, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v12, 0xc0

    move-object/from16 v16, v4

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v12, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/4 v4, 0x1

    invoke-interface {v1, v14, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v14, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v14, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v4, 0x0

    invoke-interface {v1, v14, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v4

    new-instance v12, Ljava/lang/StringBuilder;

    invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v14, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v12, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v12, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v12

    const/16 v14, 0xb4

    invoke-interface {v1, v14, v4, v12, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    iget v4, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v12, Ljava/lang/StringBuilder;

    invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V

    const-string v14, "(L"

    invoke-virtual {v12, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object/from16 v17, v13

    sget-object v13, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v13, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v12

    move-object/from16 v18, v6

    const/16 v6, 0xb6

    invoke-interface {v1, v6, v4, v0, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v4, 0x19

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x0

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v0

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v5, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    const/16 v5, 0xb4

    invoke-interface {v1, v5, v0, v4, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    iget v0, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v0, 0xb9

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v5, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-interface {v1, v0, v4, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v18

    const/16 v4, 0xa7

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v4, v17

    goto :goto_1e9

    :cond_1e5
    move-object/from16 v16, v4

    move-object v0, v6

    move-object v4, v13

    :goto_1e9
    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v4, 0x1

    const/16 v5, 0x19

    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v4

    if-eqz v4, :cond_1fd

    invoke-virtual {v3, v8}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    goto :goto_1ff

    :cond_1fd
    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c:I

    :goto_1ff
    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    if-eqz v16, :cond_215

    move-object/from16 v4, v16

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v4, "writeWithFormat"

    const-string v5, "(Ljava/lang/Object;Ljava/lang/String;)V"

    const/16 v6, 0xb6

    invoke-interface {v1, v6, v2, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_276

    :cond_215
    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object v4, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;

    instance-of v5, v4, Ljava/lang/Class;

    const-string v6, "writeWithFieldName"

    if-eqz v5, :cond_234

    check-cast v4, Ljava/lang/Class;

    invoke-virtual {v4}, Ljava/lang/Class;->isPrimitive()Z

    move-result v4

    if-eqz v4, :cond_234

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v4, "(Ljava/lang/Object;Ljava/lang/Object;)V"

    :goto_22e
    const/16 v5, 0xb6

    invoke-interface {v1, v5, v2, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_276

    :cond_234
    iget-object v4, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    const-class v5, Ljava/lang/String;

    if-ne v4, v5, :cond_248

    const-class v4, Ljava/lang/String;

    invoke-static {v4}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v4

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    goto :goto_268

    :cond_248
    const/4 v4, 0x0

    const/16 v5, 0x19

    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p3 .. p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->d(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Ljava/lang/String;

    move-result-object v4

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v8, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    const/16 v7, 0xb4

    invoke-interface {v1, v7, v4, v5, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_268
    iget v2, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v4, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    goto :goto_22e

    :goto_276
    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, p0

    invoke-direct {v0, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    return-void
.end method

.method private d(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v0, "float"

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x38

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string p3, "out"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v1, 0x19

    invoke-interface {p2, v1, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p3, "seperator"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v2, 0x15

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v1, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v0, 0x17

    invoke-interface {p2, v0, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v0, 0xb6

    const-string v1, "writeFieldValue"

    const-string v2, "(CLjava/lang/String;F)V"

    invoke-interface {p2, v0, p3, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private e(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 9

    invoke-static {p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-eqz v0, :cond_7

    return-void

    :cond_7
    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const-string v1, "notWriteDefaultValue"

    invoke-virtual {p3, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x15

    invoke-interface {p1, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v1, 0x99

    invoke-interface {p1, v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    iget-object p2, p2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    sget-object v3, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne p2, v3, :cond_2f

    const-string p2, "boolean"

    :goto_24
    invoke-virtual {p3, p2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p2

    invoke-interface {p1, v2, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    :goto_2b
    invoke-interface {p1, v1, p4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_8c

    :cond_2f
    sget-object v3, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    if-ne p2, v3, :cond_36

    const-string p2, "byte"

    goto :goto_24

    :cond_36
    sget-object v3, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-ne p2, v3, :cond_3d

    const-string p2, "short"

    goto :goto_24

    :cond_3d
    sget-object v3, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne p2, v3, :cond_44

    const-string p2, "int"

    goto :goto_24

    :cond_44
    sget-object v2, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_5e

    const/16 p2, 0x16

    const-string v2, "long"

    invoke-virtual {p3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 p2, 0x9

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 p2, 0x94

    :goto_5a
    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    goto :goto_2b

    :cond_5e
    sget-object v2, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_75

    const/16 p2, 0x17

    const-string v2, "float"

    invoke-virtual {p3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 p2, 0xb

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 p2, 0x95

    goto :goto_5a

    :cond_75
    sget-object v2, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne p2, v2, :cond_8c

    const/16 p2, 0x18

    const-string v2, "double"

    invoke-virtual {p3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p1, p2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 p2, 0xe

    invoke-interface {p1, p2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 p2, 0x97

    goto :goto_5a

    :cond_8c
    :goto_8c
    invoke-interface {p1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private e(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/4 v0, 0x2

    const-string v1, "double"

    invoke-virtual {p4, v1, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result v2

    const/16 v3, 0x39

    invoke-interface {p2, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string p3, "out"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v2, 0x19

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p3, "seperator"

    invoke-virtual {p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    const/16 v3, 0x15

    invoke-interface {p2, v3, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v1, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result p3

    const/16 v0, 0x18

    invoke-interface {p2, v0, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v0, 0xb6

    const-string v1, "writeFieldValue"

    const-string v2, "(CLjava/lang/String;D)V"

    invoke-interface {p2, v0, p3, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private f(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V
    .registers 20

    move-object/from16 v0, p1

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    new-instance v3, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v3}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    iget-object v4, v1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v4}, Ljava/lang/Class;->isPrimitive()Z

    move-result v5

    const/16 v6, 0xa7

    const/4 v7, 0x1

    const/16 v8, 0x15

    const/16 v9, 0x59

    const/16 v10, 0x3a

    if-eqz v5, :cond_45

    new-instance v5, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v5}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const-string v11, "checkValue"

    invoke-virtual {v2, v11}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    invoke-interface {v0, v8, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v11, 0x9a

    invoke-interface {v0, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v0, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v0, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b:I

    invoke-interface {v0, v10, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c:I

    invoke-interface {v0, v10, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v0, v6, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v0, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_45
    const/4 v5, 0x0

    const/16 v11, 0x19

    invoke-interface {v0, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v0, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v0, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object v5, v1, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v2, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->getFieldOrinal(Ljava/lang/String;)I

    move-result v5

    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-interface {v0, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    const-string v12, "(I)"

    invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-class v12, Lcom/tradplus/ads/common/serialization/serializer/BeanContext;

    invoke-static {v12}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v12

    invoke-virtual {v7, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    const/16 v12, 0xb6

    const-string v13, "getBeanContext"

    invoke-interface {v0, v12, v5, v13, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 v5, 0x2

    invoke-interface {v0, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v0, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v7, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    const-string v13, "valueOf"

    const/16 v14, 0xb8

    if-ne v4, v7, :cond_a9

    const-string v4, "byte"

    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Byte"

    const-string v5, "(B)Ljava/lang/Byte;"

    :goto_9c
    invoke-interface {v0, v14, v4, v13, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v0, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b:I

    invoke-interface {v0, v10, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto/16 :goto_164

    :cond_a9
    sget-object v7, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_bb

    const-string v4, "short"

    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Short"

    const-string v5, "(S)Ljava/lang/Short;"

    goto :goto_9c

    :cond_bb
    sget-object v7, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_cd

    const-string v4, "int"

    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Integer"

    const-string v5, "(I)Ljava/lang/Integer;"

    goto :goto_9c

    :cond_cd
    sget-object v7, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_df

    const-string v4, "char"

    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Character"

    const-string v5, "(C)Ljava/lang/Character;"

    goto :goto_9c

    :cond_df
    sget-object v7, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_f3

    const/16 v4, 0x16

    const-string v7, "long"

    invoke-virtual {v2, v7, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result v5

    invoke-interface {v0, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Long"

    const-string v5, "(J)Ljava/lang/Long;"

    goto :goto_9c

    :cond_f3
    sget-object v7, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_107

    const/16 v4, 0x17

    const-string v5, "float"

    invoke-virtual {v2, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    invoke-interface {v0, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Float"

    const-string v5, "(F)Ljava/lang/Float;"

    goto :goto_9c

    :cond_107
    sget-object v7, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    if-ne v4, v7, :cond_11b

    const/16 v4, 0x18

    const-string v7, "double"

    invoke-virtual {v2, v7, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;I)I

    move-result v5

    invoke-interface {v0, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Double"

    const-string v5, "(D)Ljava/lang/Double;"

    goto :goto_9c

    :cond_11b
    sget-object v5, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    if-ne v4, v5, :cond_12e

    const-string v4, "boolean"

    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v8, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v4, "java/lang/Boolean"

    const-string v5, "(Z)Ljava/lang/Boolean;"

    goto/16 :goto_9c

    :cond_12e
    const-class v5, Ljava/math/BigDecimal;

    if-ne v4, v5, :cond_146

    const-string v4, "decimal"

    :goto_134
    invoke-virtual {v2, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v0, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b:I

    invoke-interface {v0, v10, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b:I

    invoke-interface {v0, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    goto :goto_164

    :cond_146
    const-class v5, Ljava/lang/String;

    if-ne v4, v5, :cond_14d

    const-string v4, "string"

    goto :goto_134

    :cond_14d
    invoke-virtual {v4}, Ljava/lang/Class;->isEnum()Z

    move-result v5

    if-eqz v5, :cond_156

    const-string v4, "enum"

    goto :goto_134

    :cond_156
    const-class v5, Ljava/util/List;

    invoke-virtual {v5, v4}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v4

    if-eqz v4, :cond_161

    const-string v4, "list"

    goto :goto_134

    :cond_161
    const-string v4, "object"

    goto :goto_134

    :goto_164
    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "(L"

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, ";"

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-class v7, Lcom/tradplus/ads/common/serialization/serializer/BeanContext;

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, "Ljava/lang/Object;Ljava/lang/String;"

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, "Ljava/lang/Object;"

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v7, ")Ljava/lang/Object;"

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    const-string v7, "processValue"

    invoke-interface {v0, v12, v4, v7, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c:I

    invoke-interface {v0, v10, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b:I

    invoke-interface {v0, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c:I

    invoke-interface {v0, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0xa5

    invoke-interface {v0, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct/range {p0 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v1, p4

    invoke-interface {v0, v6, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private f(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v0, "decimal"

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x3a

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v3, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v3}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-interface {p2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v4, 0x19

    invoke-interface {p2, v4, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v1, 0xc7

    invoke-interface {p2, v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 p3, 0xa7

    invoke-interface {p2, p3, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v1, "out"

    invoke-virtual {p4, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    invoke-interface {p2, v4, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v1, "seperator"

    invoke-virtual {p4, v1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v1

    const/16 v2, 0x15

    invoke-interface {p2, v2, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v4, v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {p2, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v1, 0xb6

    const-string v2, "writeFieldValue"

    const-string v4, "(CLjava/lang/String;Ljava/math/BigDecimal;)V"

    invoke-interface {p2, v1, v0, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, p3, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private g(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 13
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    new-instance p1, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {p1}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    iget-object v0, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-static {p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->e(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    move-result-object v1

    iget-object v1, v1, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->c:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    const/16 v1, 0xb6

    const/16 v2, 0x19

    if-eqz v0, :cond_31

    const/4 v0, 0x1

    invoke-interface {p2, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x4

    invoke-interface {p2, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x2

    invoke-interface {p2, v2, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v3, "isWriteClassName"

    const-string v4, "(Ljava/lang/reflect/Type;Ljava/lang/Object;)Z"

    invoke-interface {p2, v1, v0, v3, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0x9a

    invoke-interface {p2, v0, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    :cond_31
    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p4, p3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const-string v0, "string"

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    const/16 v4, 0x3a

    invoke-interface {p2, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {p0, p2, p3, p4, p1}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    new-instance v3, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v3}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v5, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v5}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {p2, v2, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0xc7

    invoke-interface {p2, v6, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {p0, p2, p3, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v6, 0xa7

    invoke-interface {p2, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    iget-object p3, p3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->format:Ljava/lang/String;

    const-string v3, "trim"

    invoke-virtual {v3, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p3

    if-eqz p3, :cond_85

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string p3, "java/lang/String"

    const-string v6, "()Ljava/lang/String;"

    invoke-interface {p2, v1, p3, v3, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v4, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    :cond_85
    invoke-static {p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result p3

    const-string v3, "(CLjava/lang/String;Ljava/lang/String;)V"

    const-string v4, "seperator"

    const/16 v6, 0x15

    const-string v7, "out"

    if-eqz p3, :cond_b2

    invoke-virtual {p4, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v6, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v0, "writeFieldValueStringWithDoubleQuoteCheck"

    goto :goto_d0

    :cond_b2
    invoke-virtual {p4, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v6, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {p4, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result p3

    invoke-interface {p2, v2, p3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object p3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v0, "writeFieldValue"

    :goto_d0
    invoke-interface {p2, v1, p3, v0, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {p0, p2, p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-interface {p2, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {p2, p1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method

.method private h(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V
    .registers 30
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/Class<",
            "*>;",
            "Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;",
            "Lcom/tradplus/ads/common/serialization/util/FieldInfo;",
            "Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;",
            ")V"
        }
    .end annotation

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    move-object/from16 v3, p4

    iget-object v4, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldType:Ljava/lang/reflect/Type;

    invoke-static {v4}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getCollectionItemType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;

    move-result-object v4

    instance-of v5, v4, Ljava/lang/Class;

    if-eqz v5, :cond_16

    move-object v5, v4

    check-cast v5, Ljava/lang/Class;

    goto :goto_17

    :cond_16
    const/4 v5, 0x0

    :goto_17
    const-class v6, Ljava/lang/Object;

    if-eq v5, v6, :cond_1f

    const-class v6, Ljava/io/Serializable;

    if-ne v5, v6, :cond_20

    :cond_1f
    const/4 v5, 0x0

    :cond_20
    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v7, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v7}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v8, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v8}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-direct {v0, v1, v2, v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {v0, v1, v3, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/util/FieldInfo;)V

    const/16 v9, 0xc0

    const-string v10, "java/util/List"

    invoke-interface {v1, v9, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v9, "list"

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v12, 0x3a

    invoke-interface {v1, v12, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {v0, v1, v2, v3, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v11

    const/16 v13, 0x19

    invoke-interface {v1, v13, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v11, 0xc7

    invoke-interface {v1, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-direct {v0, v1, v2, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v11, 0xa7

    invoke-interface {v1, v11, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const-string v7, "out"

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    invoke-interface {v1, v13, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v14, "seperator"

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    const/16 v15, 0x15

    invoke-interface {v1, v15, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v14, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v12, "(I)V"

    const-string v11, "write"

    const/16 v15, 0xb6

    invoke-interface {v1, v15, v14, v11, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-direct {v0, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    invoke-interface {v1, v13, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v14, 0xb9

    const-string v15, "size"

    const-string v13, "()I"

    invoke-interface {v1, v14, v10, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v13, 0x36

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v14

    invoke-interface {v1, v13, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v13, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v13}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v14, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v14}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    move-object/from16 v16, v6

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    move-object/from16 v17, v8

    const/16 v8, 0x15

    invoke-interface {v1, v8, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v6, 0x3

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 v6, 0xa0

    invoke-interface {v1, v6, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v8, 0x19

    invoke-interface {v1, v8, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v6, "[]"

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v8, "(Ljava/lang/String;)V"

    const/16 v0, 0xb6

    invoke-interface {v1, v0, v6, v11, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    const/4 v6, 0x1

    if-nez v0, :cond_100

    const/16 v0, 0x19

    invoke-interface {v1, v0, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v8

    invoke-interface {v1, v0, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget v8, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a:I

    invoke-interface {v1, v0, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v8, "setContext"

    const-string v13, "(Ljava/lang/Object;Ljava/lang/Object;)V"

    const/16 v6, 0xb6

    invoke-interface {v1, v6, v0, v8, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :cond_100
    const-class v0, Ljava/lang/String;

    if-ne v4, v0, :cond_12c

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v0

    if-eqz v0, :cond_12c

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x19

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v2, "(Ljava/util/List;)V"

    const/16 v8, 0xb6

    invoke-interface {v1, v8, v0, v11, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v18, v14

    const/4 v2, 0x1

    const/16 v4, 0x19

    const/16 v6, 0xb6

    goto/16 :goto_41d

    :cond_12c
    const/16 v6, 0x19

    const/16 v8, 0xb6

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0x10

    const/16 v6, 0x5b

    invoke-interface {v1, v0, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    invoke-interface {v1, v8, v0, v11, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    new-instance v0, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v0}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v8, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v8}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v13, 0x3

    invoke-interface {v1, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/16 v13, 0x36

    move-object/from16 v18, v14

    const-string v14, "i"

    move-object/from16 v19, v4

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v13, 0x15

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v15}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0xa2

    invoke-interface {v1, v4, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0x99

    invoke-interface {v1, v4, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v13, 0x19

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0x10

    const/16 v15, 0x2c

    invoke-interface {v1, v4, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const/16 v15, 0xb6

    invoke-interface {v1, v15, v4, v11, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v13, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v6, 0x15

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v4, 0xb9

    const-string v6, "get"

    const-string v9, "(I)Ljava/lang/Object;"

    invoke-interface {v1, v4, v10, v6, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const-string v4, "list_item"

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v9, 0x3a

    invoke-interface {v1, v9, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v9, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v9}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v10

    const/16 v13, 0x19

    invoke-interface {v1, v13, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v10, 0xc7

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v10

    invoke-interface {v1, v13, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v13, "writeNull"

    const-string v15, "()V"

    move-object/from16 v20, v12

    const/16 v12, 0xb6

    invoke-interface {v1, v12, v10, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v10, 0xa7

    invoke-interface {v1, v10, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    new-instance v9, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v9}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v10, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v10}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    if-eqz v5, :cond_377

    invoke-virtual {v5}, Ljava/lang/Class;->getModifiers()I

    move-result v12

    invoke-static {v12}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v12

    if-eqz v12, :cond_377

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v12

    const/16 v13, 0x19

    invoke-interface {v1, v13, v12}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const-string v12, "java/lang/Object"

    const-string v13, "getClass"

    const-string v15, "()Ljava/lang/Class;"

    move-object/from16 v21, v7

    const/16 v7, 0xb6

    invoke-interface {v1, v7, v12, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v7

    invoke-static {v7}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v7

    invoke-interface {v1, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v7, 0xa6

    invoke-interface {v1, v7, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v7, p0

    invoke-direct {v7, v3, v1, v2, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/util/FieldInfo;Ljava/lang/Class;)V

    const-string v12, "list_item_desc"

    invoke-virtual {v3, v12}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v13

    const/16 v15, 0x3a

    invoke-interface {v1, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v13, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v13}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v15, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v15}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v22

    if-eqz v22, :cond_2ff

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v22

    if-eqz v22, :cond_26a

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v22

    if-eqz v22, :cond_26a

    const-string v22, "writeDirectNonContext"

    move-object/from16 p1, v8

    move-object/from16 v7, v22

    goto :goto_26d

    :cond_26a
    move-object/from16 p1, v8

    move-object v7, v11

    :goto_26d
    invoke-virtual {v3, v12}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v8

    move-object/from16 v22, v0

    const/16 v0, 0x19

    invoke-interface {v1, v0, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v8, 0xc1

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v8, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/16 v0, 0x99

    invoke-interface {v1, v0, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v12}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v8, 0x19

    invoke-interface {v1, v8, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xc0

    move-object/from16 v23, v6

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    invoke-interface {v1, v0, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const/4 v0, 0x1

    invoke-interface {v1, v8, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    invoke-interface {v1, v8, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v6

    if-eqz v6, :cond_2ad

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    move-object/from16 v24, v10

    goto :goto_2c3

    :cond_2ad
    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x15

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v6, "java/lang/Integer"

    const-string v8, "valueOf"

    move-object/from16 v24, v10

    const-string v10, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v6, v8, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_2c3
    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v8, "(L"

    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v8, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v8, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    const/16 v8, 0xb6

    invoke-interface {v1, v8, v0, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-interface {v1, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_307

    :cond_2ff
    move-object/from16 v22, v0

    move-object/from16 v23, v6

    move-object/from16 p1, v8

    move-object/from16 v24, v10

    :goto_307
    invoke-virtual {v3, v12}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x19

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v0, 0x1

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v7

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v6

    if-eqz v6, :cond_325

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    goto :goto_339

    :cond_325
    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v6, 0x15

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v6, "java/lang/Integer"

    const-string v7, "valueOf"

    const-string v8, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v6, v7, v8}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_339
    invoke-static {v5}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v0, 0xb9

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    const-string v8, "(L"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v8, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v8, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-interface {v1, v0, v6, v11, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v0, 0xa7

    invoke-interface {v1, v0, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v24

    goto :goto_380

    :cond_377
    move-object/from16 v22, v0

    move-object/from16 v23, v6

    move-object/from16 v21, v7

    move-object/from16 p1, v8

    move-object v0, v10

    :goto_380
    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v0, 0x1

    const/16 v6, 0x19

    invoke-interface {v1, v6, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-virtual {v3, v4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static/range {p4 .. p4}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->c(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v4

    if-eqz v4, :cond_39a

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    goto :goto_3ae

    :cond_39a
    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v4, 0x15

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0xb8

    const-string v4, "java/lang/Integer"

    const-string v6, "valueOf"

    const-string v7, "(I)Ljava/lang/Integer;"

    invoke-interface {v1, v0, v4, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_3ae
    if-eqz v5, :cond_3db

    invoke-virtual {v5}, Ljava/lang/Class;->getModifiers()I

    move-result v0

    invoke-static {v0}, Ljava/lang/reflect/Modifier;->isPublic(I)Z

    move-result v0

    if-eqz v0, :cond_3db

    move-object/from16 v4, v19

    check-cast v4, Ljava/lang/Class;

    invoke-static {v4}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget v0, v2, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->serialzeFeatures:I

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v2, "writeWithFieldName"

    const-string v4, "(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    const/16 v5, 0xb6

    goto :goto_3e3

    :cond_3db
    const/16 v5, 0xb6

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v2, "writeWithFieldName"

    const-string v4, "(Ljava/lang/Object;Ljava/lang/Object;)V"

    :goto_3e3
    invoke-interface {v1, v5, v0, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v23

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v3, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/4 v2, 0x1

    invoke-interface {v1, v0, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitIincInsn(II)V

    move-object/from16 v0, v22

    const/16 v4, 0xa7

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, p1

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, v21

    invoke-virtual {v3, v0}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v0

    const/16 v4, 0x19

    invoke-interface {v1, v4, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v0, 0x10

    const/16 v5, 0x5d

    invoke-interface {v1, v0, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    move-object/from16 v5, v20

    const/16 v6, 0xb6

    invoke-interface {v1, v6, v0, v11, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_41d
    invoke-interface {v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const-string v2, "popContext"

    const-string v4, "()V"

    invoke-interface {v1, v6, v0, v2, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v18

    invoke-interface {v1, v0}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v0, p0

    invoke-direct {v0, v1, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d(Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    move-object/from16 v2, v17

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    move-object/from16 v2, v16

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    return-void
.end method


# virtual methods
.method public createJavaBeanSerializer(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;
    .registers 33

    move-object/from16 v0, p0

    move-object/from16 v7, p1

    iget-object v8, v7, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->a:Ljava/lang/Class;

    invoke-virtual {v8}, Ljava/lang/Class;->isPrimitive()Z

    move-result v1

    if-nez v1, :cond_60e

    const-class v1, Lcom/tradplus/ads/common/serialization/annotation/JSONType;

    invoke-static {v8, v1}, Lcom/tradplus/ads/common/serialization/util/TypeUtils;->getAnnotation(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;

    move-result-object v1

    move-object v9, v1

    check-cast v9, Lcom/tradplus/ads/common/serialization/annotation/JSONType;

    iget-object v10, v7, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->e:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;

    array-length v1, v10

    const/4 v11, 0x0

    const/4 v2, 0x0

    :goto_1a
    if-ge v2, v1, :cond_39

    aget-object v3, v10, v2

    iget-object v4, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->field:Ljava/lang/reflect/Field;

    if-nez v4, :cond_36

    iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;

    if-eqz v3, :cond_36

    invoke-virtual {v3}, Ljava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/Class;->isInterface()Z

    move-result v3

    if-eqz v3, :cond_36

    new-instance v1, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    invoke-direct {v1, v7}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)V

    return-object v1

    :cond_36
    add-int/lit8 v2, v2, 0x1

    goto :goto_1a

    :cond_39
    iget-object v12, v7, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->f:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;

    iget-object v1, v7, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;->e:[Lcom/tradplus/ads/common/serialization/util/FieldInfo;

    const/4 v13, 0x1

    if-ne v12, v1, :cond_42

    const/4 v14, 0x1

    goto :goto_43

    :cond_42
    const/4 v14, 0x0

    :goto_43
    array-length v1, v12

    const/16 v2, 0x100

    if-le v1, v2, :cond_4e

    new-instance v1, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    invoke-direct {v1, v7}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)V

    return-object v1

    :cond_4e
    array-length v1, v12

    const/4 v2, 0x0

    :goto_50
    if-ge v2, v1, :cond_6b

    aget-object v3, v12, v2

    invoke-virtual {v3}, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->getMember()Ljava/lang/reflect/Member;

    move-result-object v3

    invoke-interface {v3}, Ljava/lang/reflect/Member;->getName()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->checkName(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_68

    new-instance v1, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    invoke-direct {v1, v7}, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;-><init>(Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;)V

    return-object v1

    :cond_68
    add-int/lit8 v2, v2, 0x1

    goto :goto_50

    :cond_6b
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "ASMSerializer_"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget-object v2, v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->k:Ljava/util/concurrent/atomic/AtomicLong;

    invoke-virtual {v2}, Ljava/util/concurrent/atomic/AtomicLong;->incrementAndGet()J

    move-result-wide v2

    invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    const-string v2, "_"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v8}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    const-class v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;

    invoke-virtual {v2}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;

    move-result-object v2

    if-eqz v2, :cond_cd

    invoke-virtual {v2}, Ljava/lang/Package;->getName()Ljava/lang/String;

    move-result-object v2

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const/16 v4, 0x2e

    const/16 v5, 0x2f

    invoke-virtual {v2, v4, v5}, Ljava/lang/String;->replace(CC)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v4, "/"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, "."

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    move-object v5, v1

    move-object v6, v3

    goto :goto_cf

    :cond_cd
    move-object v5, v1

    move-object v6, v5

    :goto_cf
    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/ClassWriter;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/ClassWriter;-><init>()V

    const/16 v16, 0x31

    const/16 v17, 0x21

    sget-object v19, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-array v1, v13, [Ljava/lang/String;

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->c:Ljava/lang/String;

    aput-object v2, v1, v11

    move-object v15, v4

    move-object/from16 v18, v6

    move-object/from16 v20, v1

    invoke-virtual/range {v15 .. v20}, Lcom/tradplus/ads/common/serialization/asm/ClassWriter;->visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    array-length v1, v12

    const/4 v2, 0x0

    :goto_ea
    if-ge v2, v1, :cond_16e

    aget-object v3, v12, v2

    iget-object v15, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v15}, Ljava/lang/Class;->isPrimitive()Z

    move-result v15

    if-nez v15, :cond_164

    iget-object v15, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    const-class v11, Ljava/lang/String;

    if-ne v15, v11, :cond_fd

    goto :goto_164

    :cond_fd
    new-instance v11, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;

    new-instance v15, Ljava/lang/StringBuilder;

    invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v13, "_asm_fieldType"

    invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v13

    const-string v15, "Ljava/lang/reflect/Type;"

    move/from16 v16, v1

    const/4 v1, 0x1

    invoke-direct {v11, v4, v1, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v11}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;->visitEnd()V

    const-class v1, Ljava/util/List;

    iget-object v11, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v1, v11}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z

    move-result v1

    if-eqz v1, :cond_145

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v13, "_asm_list_item_ser_"

    invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v11

    sget-object v13, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/4 v15, 0x1

    invoke-direct {v1, v4, v15, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v1}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;->visitEnd()V

    :cond_145
    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, "_asm_ser_"

    invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->d:Ljava/lang/String;

    const/4 v13, 0x1

    invoke-direct {v1, v4, v13, v3, v11}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v1}, Lcom/tradplus/ads/common/serialization/asm/FieldWriter;->visitEnd()V

    goto :goto_166

    :cond_164
    :goto_164
    move/from16 v16, v1

    :goto_166
    add-int/lit8 v2, v2, 0x1

    move/from16 v1, v16

    const/4 v11, 0x0

    const/4 v13, 0x1

    goto/16 :goto_ea

    :cond_16e
    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;

    const/16 v17, 0x1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "("

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-class v3, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    invoke-static {v3}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, ")V"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v19

    const/16 v20, 0x0

    const/16 v21, 0x0

    const-string v18, "<init>"

    move-object v15, v1

    move-object/from16 v16, v4

    invoke-direct/range {v15 .. v21}, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    const/16 v11, 0x19

    const/4 v2, 0x0

    invoke-interface {v1, v11, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x1

    invoke-interface {v1, v11, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v2, 0xb7

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v13, Ljava/lang/StringBuilder;

    invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V

    const-string v15, "("

    invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-class v15, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    invoke-static {v15}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v15

    invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v15, ")V"

    invoke-virtual {v13, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v13

    const-string v15, "<init>"

    invoke-interface {v1, v2, v3, v15, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x0

    :goto_1ca
    array-length v3, v12

    if-ge v2, v3, :cond_24a

    aget-object v3, v12, v2

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    invoke-virtual {v13}, Ljava/lang/Class;->isPrimitive()Z

    move-result v13

    if-nez v13, :cond_241

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->fieldClass:Ljava/lang/Class;

    const-class v15, Ljava/lang/String;

    if-ne v13, v15, :cond_1de

    goto :goto_241

    :cond_1de
    const/4 v13, 0x0

    invoke-interface {v1, v11, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;

    if-eqz v13, :cond_20e

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->declaringClass:Ljava/lang/Class;

    invoke-static {v13}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->desc(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v13

    invoke-static {v13}, Lcom/tradplus/ads/common/serialization/asm/Type;->getType(Ljava/lang/String;)Lcom/tradplus/ads/common/serialization/asm/Type;

    move-result-object v13

    invoke-interface {v1, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    iget-object v13, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->method:Ljava/lang/reflect/Method;

    invoke-virtual {v13}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;

    move-result-object v13

    invoke-interface {v1, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v13, 0xb8

    const-class v15, Lcom/tradplus/ads/common/serialization/util/ASMUtils;

    invoke-static {v15}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v15

    const-string v11, "getMethodType"

    move-object/from16 v16, v4

    const-string v4, "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Type;"

    invoke-interface {v1, v13, v15, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_226

    :cond_20e
    move-object/from16 v16, v4

    const/4 v4, 0x0

    invoke-interface {v1, v11, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    const/16 v4, 0xb7

    sget-object v11, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    const-string v13, "getFieldType"

    const-string v15, "(I)Ljava/lang/reflect/Type;"

    invoke-interface {v1, v4, v11, v13, v15}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    :goto_226
    const/16 v4, 0xb5

    new-instance v11, Ljava/lang/StringBuilder;

    invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V

    iget-object v3, v3, Lcom/tradplus/ads/common/serialization/util/FieldInfo;->name:Ljava/lang/String;

    invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v3, "_asm_fieldType"

    invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v11, "Ljava/lang/reflect/Type;"

    invoke-interface {v1, v4, v6, v3, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_243

    :cond_241
    :goto_241
    move-object/from16 v16, v4

    :goto_243
    add-int/lit8 v2, v2, 0x1

    move-object/from16 v4, v16

    const/16 v11, 0x19

    goto :goto_1ca

    :cond_24a
    move-object/from16 v16, v4

    const/16 v11, 0xb1

    invoke-interface {v1, v11}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/4 v13, 0x4

    invoke-interface {v1, v13, v13}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMaxs(II)V

    invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitEnd()V

    if-eqz v9, :cond_26e

    invoke-interface {v9}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->serialzeFeatures()[Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    move-result-object v1

    array-length v2, v1

    const/4 v3, 0x0

    :goto_260
    if-ge v3, v2, :cond_26e

    aget-object v4, v1, v3

    sget-object v15, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->DisableCircularReferenceDetect:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    if-ne v4, v15, :cond_26b

    const/16 v22, 0x1

    goto :goto_270

    :cond_26b
    add-int/lit8 v3, v3, 0x1

    goto :goto_260

    :cond_26e
    const/16 v22, 0x0

    :goto_270
    const/4 v15, 0x0

    :goto_271
    const/16 v4, 0xc0

    const/16 v3, 0xb4

    const-string v23, "java/io/IOException"

    const/4 v2, 0x3

    const-string v13, ";Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/reflect/Type;I)V"

    const-string v11, "(L"

    const-string v7, "out"

    move-object/from16 v25, v10

    const/4 v10, 0x2

    if-ge v15, v2, :cond_4bb

    if-nez v15, :cond_28e

    const-string v17, "write"

    move-object/from16 v19, v17

    move/from16 v26, v22

    const/16 v17, 0x1

    goto :goto_2a2

    :cond_28e
    const/4 v1, 0x1

    if-ne v15, v1, :cond_29a

    const-string v1, "writeNormal"

    move-object/from16 v19, v1

    move/from16 v26, v22

    const/16 v17, 0x0

    goto :goto_2a2

    :cond_29a
    const-string v1, "writeDirectNonContext"

    move-object/from16 v19, v1

    const/16 v17, 0x1

    const/16 v26, 0x1

    :goto_2a2
    new-instance v1, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;

    move-object/from16 v27, v1

    move-object v2, v12

    move-object/from16 v3, p1

    move-object/from16 v28, v16

    move-object v4, v6

    move-object/from16 v29, v5

    move/from16 v5, v17

    move-object/from16 v30, v6

    move/from16 v6, v26

    invoke-direct/range {v1 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;-><init>([Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;Ljava/lang/String;ZZ)V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;

    const/16 v17, 0x1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/16 v20, 0x0

    const/4 v3, 0x1

    new-array v4, v3, [Ljava/lang/String;

    const/4 v3, 0x0

    aput-object v23, v4, v3

    move v3, v15

    move-object v15, v1

    move-object/from16 v18, v19

    move-object/from16 v19, v2

    move-object/from16 v21, v4

    invoke-direct/range {v15 .. v21}, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    new-instance v2, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v2}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/16 v4, 0x19

    invoke-interface {v1, v4, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v5, 0xc7

    invoke-interface {v1, v5, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v5, 0x1

    invoke-interface {v1, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    const/16 v15, 0xb6

    const-string v10, "writeNull"

    const-string v4, "()V"

    invoke-interface {v1, v15, v6, v10, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v4, 0xb1

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v1, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    const/16 v2, 0x19

    invoke-interface {v1, v2, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f:Ljava/lang/String;

    const/16 v10, 0xb4

    invoke-interface {v1, v10, v2, v7, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v2, v27

    invoke-virtual {v2, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v4

    const/16 v6, 0x3a

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    if-nez v14, :cond_38d

    invoke-static {v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v4

    if-nez v4, :cond_38d

    if-eqz v9, :cond_331

    invoke-interface {v9}, Lcom/tradplus/ads/common/serialization/annotation/JSONType;->alphabetic()Z

    move-result v4

    if-eqz v4, :cond_38d

    :cond_331
    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    invoke-virtual {v2, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    const/16 v10, 0x19

    invoke-interface {v1, v10, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v5, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v6, "isSortField"

    const-string v10, "()Z"

    invoke-interface {v1, v15, v5, v6, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v5, 0x9a

    invoke-interface {v1, v5, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v5, 0x0

    const/16 v6, 0x19

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v5, 0x1

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v5, 0x2

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v5, 0x3

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v10, 0x4

    invoke-interface {v1, v6, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0x15

    const/4 v10, 0x5

    invoke-interface {v1, v6, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v6, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    const-string v10, "writeUnsorted"

    move-object/from16 v5, v30

    invoke-interface {v1, v15, v5, v10, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v6, 0xb1

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_38f

    :cond_38d
    move-object/from16 v5, v30

    :goto_38f
    invoke-static {v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->a(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)Z

    move-result v4

    if-eqz v4, :cond_474

    if-nez v26, :cond_474

    new-instance v4, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v4}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    new-instance v6, Lcom/tradplus/ads/common/serialization/asm/Label;

    invoke-direct {v6}, Lcom/tradplus/ads/common/serialization/asm/Label;-><init>()V

    const/4 v10, 0x0

    const/16 v15, 0x19

    invoke-interface {v1, v15, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v10, 0x1

    invoke-interface {v1, v15, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->g:Ljava/lang/String;

    new-instance v15, Ljava/lang/StringBuilder;

    invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v15, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-object/from16 v17, v9

    sget-object v9, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v15, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v9, ";)Z"

    invoke-virtual {v15, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    const-string v15, "writeDirect"

    move/from16 v18, v14

    const/16 v14, 0xb6

    invoke-interface {v1, v14, v10, v15, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v9, 0x9a

    invoke-interface {v1, v9, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v9, 0x0

    const/16 v10, 0x19

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v9, 0x1

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v9, 0x2

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v9, 0x3

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v9, 0x4

    invoke-interface {v1, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v9, 0x15

    const/4 v10, 0x5

    invoke-interface {v1, v9, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v9, Ljava/lang/StringBuilder;

    invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v9, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v10, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v9

    const-string v10, "writeNormal"

    const/16 v14, 0xb6

    invoke-interface {v1, v14, v5, v10, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v9, 0xb1

    invoke-interface {v1, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    invoke-virtual {v2, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v7, 0x19

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->DisableCircularReferenceDetect:Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;

    iget v6, v6, Lcom/tradplus/ads/common/serialization/serializer/SerializerFeature;->mask:I

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V

    sget-object v6, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->e:Ljava/lang/String;

    const-string v9, "isEnabled"

    const-string v10, "(I)Z"

    const/16 v14, 0xb6

    invoke-interface {v1, v14, v6, v9, v10}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v6, 0x99

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitJumpInsn(ILcom/tradplus/ads/common/serialization/asm/Label;)V

    const/4 v6, 0x0

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v6, 0x1

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v6, 0x2

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v6, 0x3

    invoke-interface {v1, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v9, 0x4

    invoke-interface {v1, v7, v9}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/16 v6, 0x15

    const/4 v7, 0x5

    invoke-interface {v1, v6, v7}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v7, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    const-string v7, "writeDirectNonContext"

    const/16 v10, 0xb6

    invoke-interface {v1, v10, v5, v7, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    const/16 v6, 0xb1

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    invoke-interface {v1, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitLabel(Lcom/tradplus/ads/common/serialization/asm/Label;)V

    goto :goto_479

    :cond_474
    move-object/from16 v17, v9

    move/from16 v18, v14

    const/4 v9, 0x4

    :goto_479
    const/4 v4, 0x2

    const/16 v6, 0x19

    invoke-interface {v1, v6, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v8}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v6

    const/16 v14, 0xc0

    invoke-interface {v1, v14, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v6, "entity"

    invoke-virtual {v2, v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v6

    const/16 v15, 0x3a

    invoke-interface {v1, v15, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {v0, v8, v1, v12, v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;[Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v6, 0xb1

    invoke-interface {v1, v6}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/4 v6, 0x7

    invoke-static {v2}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)I

    move-result v2

    add-int/2addr v2, v4

    invoke-interface {v1, v6, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMaxs(II)V

    invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitEnd()V

    add-int/lit8 v15, v3, 0x1

    move-object/from16 v7, p1

    move-object v6, v5

    move-object/from16 v9, v17

    move/from16 v14, v18

    move-object/from16 v10, v25

    move-object/from16 v16, v28

    move-object/from16 v5, v29

    const/16 v11, 0xb1

    const/4 v13, 0x4

    goto/16 :goto_271

    :cond_4bb
    move-object/from16 v29, v5

    move-object v5, v6

    move/from16 v18, v14

    move-object/from16 v28, v16

    const/4 v6, 0x3

    const/16 v10, 0xb4

    const/16 v14, 0xc0

    const/16 v15, 0x3a

    if-nez v18, :cond_54b

    new-instance v9, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;

    const/16 v16, 0x0

    move-object v1, v9

    move-object v2, v12

    move-object/from16 v3, p1

    move-object v4, v5

    move-object/from16 v24, v5

    move/from16 v5, v16

    const/16 v14, 0x3a

    const/4 v15, 0x3

    move/from16 v6, v22

    invoke-direct/range {v1 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;-><init>([Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;Ljava/lang/String;ZZ)V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;

    const/16 v17, 0x1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v19

    const/16 v20, 0x0

    const/4 v2, 0x1

    new-array v3, v2, [Ljava/lang/String;

    const/4 v4, 0x0

    aput-object v23, v3, v4

    const-string v18, "writeUnsorted"

    const/4 v6, 0x3

    move-object v15, v1

    move-object/from16 v16, v28

    move-object/from16 v21, v3

    invoke-direct/range {v15 .. v21}, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    const/16 v3, 0x19

    invoke-interface {v1, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f:Ljava/lang/String;

    invoke-interface {v1, v10, v2, v7, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v9, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    invoke-interface {v1, v14, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x2

    invoke-interface {v1, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v8}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v3

    const/16 v4, 0xc0

    invoke-interface {v1, v4, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v3, "entity"

    invoke-virtual {v9, v3}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v3

    invoke-interface {v1, v14, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    move-object/from16 v3, v25

    invoke-direct {v0, v8, v1, v3, v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;[Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v3, 0xb1

    invoke-interface {v1, v3}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/4 v3, 0x7

    invoke-static {v9}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)I

    move-result v4

    add-int/2addr v4, v2

    invoke-interface {v1, v3, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMaxs(II)V

    invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitEnd()V

    goto :goto_54f

    :cond_54b
    move-object/from16 v24, v5

    const/16 v14, 0x3a

    :goto_54f
    const/4 v9, 0x0

    :goto_550
    if-ge v9, v6, :cond_5ea

    if-nez v9, :cond_55c

    const-string v1, "writeAsArray"

    move-object/from16 v18, v1

    move/from16 v15, v22

    const/4 v5, 0x1

    goto :goto_56d

    :cond_55c
    const/4 v1, 0x1

    if-ne v9, v1, :cond_567

    const-string v1, "writeAsArrayNormal"

    move-object/from16 v18, v1

    move/from16 v15, v22

    const/4 v5, 0x0

    goto :goto_56d

    :cond_567
    const-string v1, "writeAsArrayNonContext"

    move-object/from16 v18, v1

    const/4 v5, 0x1

    const/4 v15, 0x1

    :goto_56d
    new-instance v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;

    move-object v1, v4

    move-object v2, v12

    move-object/from16 v3, p1

    move-object v14, v4

    move-object/from16 v4, v24

    const/16 v25, 0x3

    move v6, v15

    invoke-direct/range {v1 .. v6}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;-><init>([Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;Ljava/lang/String;ZZ)V

    new-instance v1, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;

    const/16 v17, 0x1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    sget-object v3, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v19

    const/16 v20, 0x0

    const/4 v2, 0x1

    new-array v3, v2, [Ljava/lang/String;

    const/4 v4, 0x0

    aput-object v23, v3, v4

    move-object v15, v1

    move-object/from16 v16, v28

    move-object/from16 v21, v3

    invoke-direct/range {v15 .. v21}, Lcom/tradplus/ads/common/serialization/asm/MethodWriter;-><init>(Lcom/tradplus/ads/common/serialization/asm/ClassWriter;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V

    const/16 v3, 0x19

    invoke-interface {v1, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    sget-object v2, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->b:Ljava/lang/String;

    sget-object v4, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->f:Ljava/lang/String;

    invoke-interface {v1, v10, v2, v7, v4}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    invoke-virtual {v14, v7}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v2

    const/16 v4, 0x3a

    invoke-interface {v1, v4, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    const/4 v2, 0x2

    invoke-interface {v1, v3, v2}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-static {v8}, Lcom/tradplus/ads/common/serialization/util/ASMUtils;->type(Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v5

    const/16 v6, 0xc0

    invoke-interface {v1, v6, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V

    const-string v5, "entity"

    invoke-virtual {v14, v5}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->var(Ljava/lang/String;)I

    move-result v5

    invoke-interface {v1, v4, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitVarInsn(II)V

    invoke-direct {v0, v8, v1, v12, v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a(Ljava/lang/Class;Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;[Lcom/tradplus/ads/common/serialization/util/FieldInfo;Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)V

    const/16 v5, 0xb1

    invoke-interface {v1, v5}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitInsn(I)V

    const/4 v15, 0x7

    invoke-static {v14}, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;->b(Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory$a;)I

    move-result v14

    add-int/2addr v14, v2

    invoke-interface {v1, v15, v14}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitMaxs(II)V

    invoke-interface {v1}, Lcom/tradplus/ads/common/serialization/asm/MethodVisitor;->visitEnd()V

    add-int/lit8 v9, v9, 0x1

    const/4 v6, 0x3

    const/16 v14, 0x3a

    goto/16 :goto_550

    :cond_5ea
    invoke-virtual/range {v28 .. v28}, Lcom/tradplus/ads/common/serialization/asm/ClassWriter;->toByteArray()[B

    move-result-object v1

    iget-object v2, v0, Lcom/tradplus/ads/common/serialization/serializer/ASMSerializerFactory;->a:Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;

    array-length v3, v1

    move-object/from16 v4, v29

    const/4 v5, 0x0

    invoke-virtual {v2, v4, v1, v5, v3}, Lcom/tradplus/ads/common/serialization/util/ASMClassLoader;->defineClassPublic(Ljava/lang/String;[BII)Ljava/lang/Class;

    move-result-object v1

    const/4 v2, 0x1

    new-array v3, v2, [Ljava/lang/Class;

    const-class v4, Lcom/tradplus/ads/common/serialization/serializer/SerializeBeanInfo;

    aput-object v4, v3, v5

    invoke-virtual {v1, v3}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;

    move-result-object v1

    new-array v2, v2, [Ljava/lang/Object;

    aput-object p1, v2, v5

    invoke-virtual {v1, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Lcom/tradplus/ads/common/serialization/serializer/JavaBeanSerializer;

    return-object v1

    :cond_60e
    new-instance v1, Lcom/tradplus/ads/common/serialization/JSONException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "unsupportd class "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v8}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Lcom/tradplus/ads/common/serialization/JSONException;-><init>(Ljava/lang/String;)V

    goto :goto_62a

    :goto_629
    throw v1

    :goto_62a
    goto :goto_629
.end method