GeneratorAdapter.smali
.class public Lorg/objectweb/asm/commons/GeneratorAdapter;
.super Lorg/objectweb/asm/commons/LocalVariablesSorter;
# static fields
.field public static final ADD:I = 0x60
.field public static final AND:I = 0x7e
.field private static final BOOLEAN_TYPE:Lorg/objectweb/asm/Type;
.field private static final BOOLEAN_VALUE:Lorg/objectweb/asm/commons/Method;
.field private static final BYTE_TYPE:Lorg/objectweb/asm/Type;
.field private static final CHARACTER_TYPE:Lorg/objectweb/asm/Type;
.field private static final CHAR_VALUE:Lorg/objectweb/asm/commons/Method;
.field private static final CLDESC:Ljava/lang/String; = "Ljava/lang/Class;"
.field public static final DIV:I = 0x6c
.field private static final DOUBLE_TYPE:Lorg/objectweb/asm/Type;
.field private static final DOUBLE_VALUE:Lorg/objectweb/asm/commons/Method;
.field public static final EQ:I = 0x99
.field private static final FLOAT_TYPE:Lorg/objectweb/asm/Type;
.field private static final FLOAT_VALUE:Lorg/objectweb/asm/commons/Method;
.field public static final GE:I = 0x9c
.field public static final GT:I = 0x9d
.field private static final INTEGER_TYPE:Lorg/objectweb/asm/Type;
.field private static final INT_VALUE:Lorg/objectweb/asm/commons/Method;
.field public static final LE:I = 0x9e
.field private static final LONG_TYPE:Lorg/objectweb/asm/Type;
.field private static final LONG_VALUE:Lorg/objectweb/asm/commons/Method;
.field public static final LT:I = 0x9b
.field public static final MUL:I = 0x68
.field public static final NE:I = 0x9a
.field public static final NEG:I = 0x74
.field private static final NUMBER_TYPE:Lorg/objectweb/asm/Type;
.field private static final OBJECT_TYPE:Lorg/objectweb/asm/Type;
.field public static final OR:I = 0x80
.field public static final REM:I = 0x70
.field public static final SHL:I = 0x78
.field private static final SHORT_TYPE:Lorg/objectweb/asm/Type;
.field public static final SHR:I = 0x7a
.field public static final SUB:I = 0x64
.field public static final USHR:I = 0x7c
.field public static final XOR:I = 0x82
.field static class$org$objectweb$asm$commons$GeneratorAdapter:Ljava/lang/Class;
# instance fields
.field private final access:I
.field private final argumentTypes:[Lorg/objectweb/asm/Type;
.field private final localTypes:Ljava/util/List;
.field private final returnType:Lorg/objectweb/asm/Type;
# direct methods
.method static constructor <clinit>()V
.registers 1
invoke-static {}, Lorg/objectweb/asm/commons/GeneratorAdapter;->_clinit_()V
const-string v0, "java/lang/Byte"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BYTE_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Boolean"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BOOLEAN_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Short"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->SHORT_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Character"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->CHARACTER_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Integer"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->INTEGER_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Float"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Long"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->LONG_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Double"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Number"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->NUMBER_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "java/lang/Object"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->OBJECT_TYPE:Lorg/objectweb/asm/Type;
const-string v0, "boolean booleanValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BOOLEAN_VALUE:Lorg/objectweb/asm/commons/Method;
const-string v0, "char charValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->CHAR_VALUE:Lorg/objectweb/asm/commons/Method;
const-string v0, "int intValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->INT_VALUE:Lorg/objectweb/asm/commons/Method;
const-string v0, "float floatValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->FLOAT_VALUE:Lorg/objectweb/asm/commons/Method;
const-string v0, "long longValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->LONG_VALUE:Lorg/objectweb/asm/commons/Method;
const-string v0, "double doubleValue()"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->DOUBLE_VALUE:Lorg/objectweb/asm/commons/Method;
return-void
.end method
.method protected constructor <init>(ILorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
.registers 7
invoke-direct {p0, p1, p3, p5, p2}, Lorg/objectweb/asm/commons/LocalVariablesSorter;-><init>(IILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)V
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->localTypes:Ljava/util/List;
iput p3, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->access:I
invoke-static {p5}, Lorg/objectweb/asm/Type;->getReturnType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
iput-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->returnType:Lorg/objectweb/asm/Type;
invoke-static {p5}, Lorg/objectweb/asm/Type;->getArgumentTypes(Ljava/lang/String;)[Lorg/objectweb/asm/Type;
move-result-object v0
iput-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
return-void
.end method
.method public constructor <init>(ILorg/objectweb/asm/commons/Method;Ljava/lang/String;[Lorg/objectweb/asm/Type;Lorg/objectweb/asm/ClassVisitor;)V
.registers 12
invoke-virtual {p2}, Lorg/objectweb/asm/commons/Method;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {p2}, Lorg/objectweb/asm/commons/Method;->getDescriptor()Ljava/lang/String;
move-result-object v3
invoke-static {p4}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getInternalNames([Lorg/objectweb/asm/Type;)[Ljava/lang/String;
move-result-object v5
move-object v0, p5
move v1, p1
move-object v4, p3
invoke-virtual/range {v0 .. v5}, Lorg/objectweb/asm/ClassVisitor;->visitMethod(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
move-result-object v0
invoke-direct {p0, p1, p2, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;-><init>(ILorg/objectweb/asm/commons/Method;Lorg/objectweb/asm/MethodVisitor;)V
return-void
.end method
.method public constructor <init>(ILorg/objectweb/asm/commons/Method;Lorg/objectweb/asm/MethodVisitor;)V
.registers 6
const/4 v0, 0x0
invoke-virtual {p2}, Lorg/objectweb/asm/commons/Method;->getDescriptor()Ljava/lang/String;
move-result-object v1
invoke-direct {p0, p3, p1, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;-><init>(Lorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public constructor <init>(Lorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
.registers 11
const/high16 v1, 0x50000
move-object v0, p0
move-object v2, p1
move v3, p2
move-object v4, p3
move-object v5, p4
invoke-direct/range {v0 .. v5}, Lorg/objectweb/asm/commons/GeneratorAdapter;-><init>(ILorg/objectweb/asm/MethodVisitor;ILjava/lang/String;Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Lorg/objectweb/asm/commons/GeneratorAdapter;->class$org$objectweb$asm$commons$GeneratorAdapter:Ljava/lang/Class;
if-eq v0, v1, :cond_18
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
:cond_18
return-void
.end method
.method private static _clinit_()V
.registers 1
const-string v0, "org.objectweb.asm.commons.GeneratorAdapter"
invoke-static {v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->class$(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
sput-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->class$org$objectweb$asm$commons$GeneratorAdapter:Ljava/lang/Class;
return-void
.end method
.method static class$(Ljava/lang/String;)Ljava/lang/Class;
.registers 3
:try_start_0
invoke-static {p0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
:try_end_3
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_3} :catch_5
move-result-object v0
return-object v0
:catch_5
move-exception v0
invoke-virtual {v0}, Ljava/lang/ClassNotFoundException;->getMessage()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/NoClassDefFoundError;
invoke-direct {v1, v0}, Ljava/lang/NoClassDefFoundError;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private fieldInsn(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
.registers 8
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getInternalName()Ljava/lang/String;
move-result-object v1
invoke-virtual {p4}, Lorg/objectweb/asm/Type;->getDescriptor()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, p1, v1, p3, v2}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private getArgIndex(I)I
.registers 5
const/4 v1, 0x0
iget v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->access:I
and-int/lit8 v0, v0, 0x8
if-nez v0, :cond_16
const/4 v0, 0x1
:goto_8
if-ge v1, p1, :cond_18
iget-object v2, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
aget-object v2, v2, v1
invoke-virtual {v2}, Lorg/objectweb/asm/Type;->getSize()I
move-result v2
add-int/2addr v0, v2
add-int/lit8 v1, v1, 0x1
goto :goto_8
:cond_16
move v0, v1
goto :goto_8
:cond_18
return v0
.end method
.method private static getBoxedType(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
.registers 2
invoke-virtual {p0}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
packed-switch v0, :pswitch_data_20
:goto_7
return-object p0
:pswitch_8
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BYTE_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_b
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BOOLEAN_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_e
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->SHORT_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_11
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->CHARACTER_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_14
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->INTEGER_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_17
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_1a
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->LONG_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_1d
sget-object p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
goto :goto_7
:pswitch_data_20
.packed-switch 0x1
:pswitch_b
:pswitch_11
:pswitch_8
:pswitch_e
:pswitch_14
:pswitch_17
:pswitch_1a
:pswitch_1d
.end packed-switch
.end method
.method private static getInternalNames([Lorg/objectweb/asm/Type;)[Ljava/lang/String;
.registers 4
if-nez p0, :cond_4
const/4 v0, 0x0
:goto_3
return-object v0
:cond_4
array-length v0, p0
new-array v1, v0, [Ljava/lang/String;
const/4 v0, 0x0
:goto_8
array-length v2, v1
if-ge v0, v2, :cond_16
aget-object v2, p0, v0
invoke-virtual {v2}, Lorg/objectweb/asm/Type;->getInternalName()Ljava/lang/String;
move-result-object v2
aput-object v2, v1, v0
add-int/lit8 v0, v0, 0x1
goto :goto_8
:cond_16
move-object v0, v1
goto :goto_3
.end method
.method private invokeInsn(ILorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;Z)V
.registers 11
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v1, 0x9
if-ne v0, v1, :cond_1c
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getDescriptor()Ljava/lang/String;
move-result-object v2
:goto_c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p3}, Lorg/objectweb/asm/commons/Method;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {p3}, Lorg/objectweb/asm/commons/Method;->getDescriptor()Ljava/lang/String;
move-result-object v4
move v1, p1
move v5, p4
invoke-virtual/range {v0 .. v5}, Lorg/objectweb/asm/MethodVisitor;->visitMethodInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
return-void
:cond_1c
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getInternalName()Ljava/lang/String;
move-result-object v2
goto :goto_c
.end method
.method private loadInsn(Lorg/objectweb/asm/Type;I)V
.registers 5
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x15
invoke-virtual {p1, v1}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1, p2}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V
return-void
.end method
.method private storeInsn(Lorg/objectweb/asm/Type;I)V
.registers 5
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x36
invoke-virtual {p1, v1}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1, p2}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V
return-void
.end method
.method private typeInsn(ILorg/objectweb/asm/Type;)V
.registers 5
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getInternalName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, p1, v1}, Lorg/objectweb/asm/MethodVisitor;->visitTypeInsn(ILjava/lang/String;)V
return-void
.end method
# virtual methods
.method public arrayLength()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xbe
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public arrayLoad(Lorg/objectweb/asm/Type;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x2e
invoke-virtual {p1, v1}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public arrayStore(Lorg/objectweb/asm/Type;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x4f
invoke-virtual {p1, v1}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public box(Lorg/objectweb/asm/Type;)V
.registers 8
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v1, 0xa
if-eq v0, v1, :cond_10
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v1, 0x9
if-ne v0, v1, :cond_11
:cond_10
:goto_10
return-void
:cond_11
sget-object v0, Lorg/objectweb/asm/Type;->VOID_TYPE:Lorg/objectweb/asm/Type;
if-ne p1, v0, :cond_1a
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(Ljava/lang/String;)V
goto :goto_10
:cond_1a
invoke-static {p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getBoxedType(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newInstance(Lorg/objectweb/asm/Type;)V
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSize()I
move-result v1
const/4 v2, 0x2
if-ne v1, v2, :cond_44
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dupX2()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dupX2()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->pop()V
:goto_31
new-instance v1, Lorg/objectweb/asm/commons/Method;
const-string v2, "<init>"
sget-object v3, Lorg/objectweb/asm/Type;->VOID_TYPE:Lorg/objectweb/asm/Type;
const/4 v4, 0x1
new-array v4, v4, [Lorg/objectweb/asm/Type;
const/4 v5, 0x0
aput-object p1, v4, v5
invoke-direct {v1, v2, v3, v4}, Lorg/objectweb/asm/commons/Method;-><init>(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
invoke-virtual {p0, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeConstructor(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
goto :goto_10
:cond_44
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dupX1()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->swap()V
goto :goto_31
.end method
.method public cast(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
.registers 5
if-eq p1, p2, :cond_11
sget-object v0, Lorg/objectweb/asm/Type;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
if-ne p1, v0, :cond_2b
sget-object v0, Lorg/objectweb/asm/Type;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_12
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x90
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:cond_11
:goto_11
return-void
:cond_12
sget-object v0, Lorg/objectweb/asm/Type;->LONG_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_1e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8f
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_1e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8e
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
sget-object v0, Lorg/objectweb/asm/Type;->INT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->cast(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
goto :goto_11
:cond_2b
sget-object v0, Lorg/objectweb/asm/Type;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
if-ne p1, v0, :cond_54
sget-object v0, Lorg/objectweb/asm/Type;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_3b
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8d
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_3b
sget-object v0, Lorg/objectweb/asm/Type;->LONG_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_47
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8c
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_47
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8b
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
sget-object v0, Lorg/objectweb/asm/Type;->INT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->cast(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
goto :goto_11
:cond_54
sget-object v0, Lorg/objectweb/asm/Type;->LONG_TYPE:Lorg/objectweb/asm/Type;
if-ne p1, v0, :cond_7d
sget-object v0, Lorg/objectweb/asm/Type;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_64
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x8a
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_64
sget-object v0, Lorg/objectweb/asm/Type;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_70
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x89
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_70
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x88
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
sget-object v0, Lorg/objectweb/asm/Type;->INT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v0, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->cast(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
goto :goto_11
:cond_7d
sget-object v0, Lorg/objectweb/asm/Type;->BYTE_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_89
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x91
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_11
:cond_89
sget-object v0, Lorg/objectweb/asm/Type;->CHAR_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_96
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x92
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto/16 :goto_11
:cond_96
sget-object v0, Lorg/objectweb/asm/Type;->DOUBLE_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_a3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x87
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto/16 :goto_11
:cond_a3
sget-object v0, Lorg/objectweb/asm/Type;->FLOAT_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_b0
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x86
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto/16 :goto_11
:cond_b0
sget-object v0, Lorg/objectweb/asm/Type;->LONG_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_bd
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x85
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto/16 :goto_11
:cond_bd
sget-object v0, Lorg/objectweb/asm/Type;->SHORT_TYPE:Lorg/objectweb/asm/Type;
if-ne p2, v0, :cond_11
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x93
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto/16 :goto_11
.end method
.method public catchException(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Type;)V
.registers 7
if-nez p3, :cond_d
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark()Lorg/objectweb/asm/Label;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, p1, p2, v1, v2}, Lorg/objectweb/asm/MethodVisitor;->visitTryCatchBlock(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
:goto_c
return-void
:cond_d
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark()Lorg/objectweb/asm/Label;
move-result-object v1
invoke-virtual {p3}, Lorg/objectweb/asm/Type;->getInternalName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, p1, p2, v1, v2}, Lorg/objectweb/asm/MethodVisitor;->visitTryCatchBlock(Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Lorg/objectweb/asm/Label;Ljava/lang/String;)V
goto :goto_c
.end method
.method public checkCast(Lorg/objectweb/asm/Type;)V
.registers 3
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->OBJECT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p1, v0}, Lorg/objectweb/asm/Type;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_d
const/16 v0, 0xc0
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->typeInsn(ILorg/objectweb/asm/Type;)V
:cond_d
return-void
.end method
.method public dup()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x59
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public dup2()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5c
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public dup2X1()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5d
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public dup2X2()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5e
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public dupX1()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5a
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public dupX2()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5b
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public endMethod()V
.registers 3
const/4 v1, 0x0
iget v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->access:I
and-int/lit16 v0, v0, 0x400
if-nez v0, :cond_c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, v1, v1}, Lorg/objectweb/asm/MethodVisitor;->visitMaxs(II)V
:cond_c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0}, Lorg/objectweb/asm/MethodVisitor;->visitEnd()V
return-void
.end method
.method public getField(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
.registers 5
const/16 v0, 0xb4
invoke-direct {p0, v0, p1, p2, p3}, Lorg/objectweb/asm/commons/GeneratorAdapter;->fieldInsn(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
return-void
.end method
.method public getLocalType(I)Lorg/objectweb/asm/Type;
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->localTypes:Ljava/util/List;
iget v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->firstLocal:I
sub-int v1, p1, v1
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/objectweb/asm/Type;
return-object v0
.end method
.method public getStatic(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
.registers 5
const/16 v0, 0xb2
invoke-direct {p0, v0, p1, p2, p3}, Lorg/objectweb/asm/commons/GeneratorAdapter;->fieldInsn(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
return-void
.end method
.method public goTo(Lorg/objectweb/asm/Label;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xa7
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
return-void
.end method
.method public ifCmp(Lorg/objectweb/asm/Type;ILorg/objectweb/asm/Label;)V
.registers 8
const/16 v3, 0x9d
const/16 v2, 0x9c
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
packed-switch v0, :pswitch_data_7a
const/4 v0, -0x1
packed-switch p2, :pswitch_data_88
:goto_f
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v1, v0, p3}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
:goto_14
return-void
:pswitch_15
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x94
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_1c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p2, p3}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
goto :goto_14
:pswitch_22
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
if-eq p2, v2, :cond_28
if-ne p2, v3, :cond_2e
:cond_28
const/16 v0, 0x97
:goto_2a
invoke-virtual {v1, v0}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_1c
:cond_2e
const/16 v0, 0x98
goto :goto_2a
:pswitch_31
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
if-eq p2, v2, :cond_37
if-ne p2, v3, :cond_3d
:cond_37
const/16 v0, 0x95
:goto_39
invoke-virtual {v1, v0}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
goto :goto_1c
:cond_3d
const/16 v0, 0x96
goto :goto_39
:pswitch_40
packed-switch p2, :pswitch_data_98
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuffer;
const-string v2, "Bad comparison for type "
invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_58
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xa5
invoke-virtual {v0, v1, p3}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
goto :goto_14
:pswitch_60
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xa6
invoke-virtual {v0, v1, p3}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
goto :goto_14
:pswitch_68
const/16 v0, 0x9f
goto :goto_f
:pswitch_6b
const/16 v0, 0xa0
goto :goto_f
:pswitch_6e
const/16 v0, 0xa2
goto :goto_f
:pswitch_71
const/16 v0, 0xa1
goto :goto_f
:pswitch_74
const/16 v0, 0xa4
goto :goto_f
:pswitch_77
const/16 v0, 0xa3
goto :goto_f
:pswitch_data_7a
.packed-switch 0x6
:pswitch_31
:pswitch_15
:pswitch_22
:pswitch_40
:pswitch_40
.end packed-switch
:pswitch_data_88
.packed-switch 0x99
:pswitch_68
:pswitch_6b
:pswitch_71
:pswitch_6e
:pswitch_77
:pswitch_74
.end packed-switch
:pswitch_data_98
.packed-switch 0x99
:pswitch_58
:pswitch_60
.end packed-switch
.end method
.method public ifICmp(ILorg/objectweb/asm/Label;)V
.registers 4
sget-object v0, Lorg/objectweb/asm/Type;->INT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v0, p1, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->ifCmp(Lorg/objectweb/asm/Type;ILorg/objectweb/asm/Label;)V
return-void
.end method
.method public ifNonNull(Lorg/objectweb/asm/Label;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xc7
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
return-void
.end method
.method public ifNull(Lorg/objectweb/asm/Label;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xc6
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
return-void
.end method
.method public ifZCmp(ILorg/objectweb/asm/Label;)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1, p2}, Lorg/objectweb/asm/MethodVisitor;->visitJumpInsn(ILorg/objectweb/asm/Label;)V
return-void
.end method
.method public iinc(II)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1, p2}, Lorg/objectweb/asm/MethodVisitor;->visitIincInsn(II)V
return-void
.end method
.method public instanceOf(Lorg/objectweb/asm/Type;)V
.registers 3
const/16 v0, 0xc1
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->typeInsn(ILorg/objectweb/asm/Type;)V
return-void
.end method
.method public invokeConstructor(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
.registers 5
const/16 v0, 0xb7
const/4 v1, 0x0
invoke-direct {p0, v0, p1, p2, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeInsn(ILorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;Z)V
return-void
.end method
.method public varargs invokeDynamic(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V
.registers 6
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1, p2, p3, p4}, Lorg/objectweb/asm/MethodVisitor;->visitInvokeDynamicInsn(Ljava/lang/String;Ljava/lang/String;Lorg/objectweb/asm/Handle;[Ljava/lang/Object;)V
return-void
.end method
.method public invokeInterface(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
.registers 5
const/16 v0, 0xb9
const/4 v1, 0x1
invoke-direct {p0, v0, p1, p2, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeInsn(ILorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;Z)V
return-void
.end method
.method public invokeStatic(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
.registers 5
const/16 v0, 0xb8
const/4 v1, 0x0
invoke-direct {p0, v0, p1, p2, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeInsn(ILorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;Z)V
return-void
.end method
.method public invokeVirtual(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
.registers 5
const/16 v0, 0xb6
const/4 v1, 0x0
invoke-direct {p0, v0, p1, p2, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeInsn(ILorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;Z)V
return-void
.end method
.method public loadArg(I)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
aget-object v0, v0, p1
invoke-direct {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getArgIndex(I)I
move-result v1
invoke-direct {p0, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public loadArgArray()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
array-length v0, v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(I)V
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->OBJECT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newArray(Lorg/objectweb/asm/Type;)V
const/4 v0, 0x0
:goto_c
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
array-length v1, v1
if-ge v0, v1, :cond_29
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dup()V
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(I)V
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadArg(I)V
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
aget-object v1, v1, v0
invoke-virtual {p0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->box(Lorg/objectweb/asm/Type;)V
sget-object v1, Lorg/objectweb/asm/commons/GeneratorAdapter;->OBJECT_TYPE:Lorg/objectweb/asm/Type;
invoke-virtual {p0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->arrayStore(Lorg/objectweb/asm/Type;)V
add-int/lit8 v0, v0, 0x1
goto :goto_c
:cond_29
return-void
.end method
.method public loadArgs()V
.registers 3
const/4 v0, 0x0
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
array-length v1, v1
invoke-virtual {p0, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadArgs(II)V
return-void
.end method
.method public loadArgs(II)V
.registers 7
invoke-direct {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getArgIndex(I)I
move-result v1
const/4 v0, 0x0
:goto_5
if-ge v0, p2, :cond_18
iget-object v2, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
add-int v3, p1, v0
aget-object v2, v2, v3
invoke-direct {p0, v2, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadInsn(Lorg/objectweb/asm/Type;I)V
invoke-virtual {v2}, Lorg/objectweb/asm/Type;->getSize()I
move-result v2
add-int/2addr v1, v2
add-int/lit8 v0, v0, 0x1
goto :goto_5
:cond_18
return-void
.end method
.method public loadLocal(I)V
.registers 3
invoke-virtual {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getLocalType(I)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public loadLocal(ILorg/objectweb/asm/Type;)V
.registers 3
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->setLocalType(ILorg/objectweb/asm/Type;)V
invoke-direct {p0, p2, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->loadInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public loadThis()V
.registers 4
iget v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->access:I
and-int/lit8 v0, v0, 0x8
if-eqz v0, :cond_e
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "no \'this\' pointer within static method"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
:cond_e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x19
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V
return-void
.end method
.method public mark()Lorg/objectweb/asm/Label;
.registers 3
new-instance v0, Lorg/objectweb/asm/Label;
invoke-direct {v0}, Lorg/objectweb/asm/Label;-><init>()V
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v1, v0}, Lorg/objectweb/asm/MethodVisitor;->visitLabel(Lorg/objectweb/asm/Label;)V
return-object v0
.end method
.method public mark(Lorg/objectweb/asm/Label;)V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/MethodVisitor;->visitLabel(Lorg/objectweb/asm/Label;)V
return-void
.end method
.method public math(ILorg/objectweb/asm/Type;)V
.registers 5
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {p2, p1}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public monitorEnter()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xc2
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public monitorExit()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xc3
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public newArray(Lorg/objectweb/asm/Type;)V
.registers 5
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
packed-switch v0, :pswitch_data_28
const/16 v0, 0xbd
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->typeInsn(ILorg/objectweb/asm/Type;)V
:goto_c
return-void
:pswitch_d
const/4 v0, 0x4
:goto_e
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v2, 0xbc
invoke-virtual {v1, v2, v0}, Lorg/objectweb/asm/MethodVisitor;->visitIntInsn(II)V
goto :goto_c
:pswitch_16
const/4 v0, 0x5
goto :goto_e
:pswitch_18
const/16 v0, 0x8
goto :goto_e
:pswitch_1b
const/16 v0, 0x9
goto :goto_e
:pswitch_1e
const/16 v0, 0xa
goto :goto_e
:pswitch_21
const/4 v0, 0x6
goto :goto_e
:pswitch_23
const/16 v0, 0xb
goto :goto_e
:pswitch_26
const/4 v0, 0x7
goto :goto_e
:pswitch_data_28
.packed-switch 0x1
:pswitch_d
:pswitch_16
:pswitch_18
:pswitch_1b
:pswitch_1e
:pswitch_21
:pswitch_23
:pswitch_26
.end packed-switch
.end method
.method public newInstance(Lorg/objectweb/asm/Type;)V
.registers 3
const/16 v0, 0xbb
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->typeInsn(ILorg/objectweb/asm/Type;)V
return-void
.end method
.method public newLabel()Lorg/objectweb/asm/Label;
.registers 2
new-instance v0, Lorg/objectweb/asm/Label;
invoke-direct {v0}, Lorg/objectweb/asm/Label;-><init>()V
return-object v0
.end method
.method public not()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/4 v1, 0x4
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x82
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public pop()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x57
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public pop2()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x58
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public push(D)V
.registers 8
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToLongBits(D)J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
if-eqz v2, :cond_10
const-wide/high16 v2, 0x3ff0000000000000L # 1.0
cmp-long v0, v0, v2
if-nez v0, :cond_19
:cond_10
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
double-to-int v1, p1
add-int/lit8 v1, v1, 0xe
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_18
return-void
:cond_19
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
new-instance v1, Ljava/lang/Double;
invoke-direct {v1, p1, p2}, Ljava/lang/Double;-><init>(D)V
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_18
.end method
.method public push(F)V
.registers 8
invoke-static {p1}, Ljava/lang/Float;->floatToIntBits(F)I
move-result v0
int-to-long v2, v0
const-wide/16 v4, 0x0
cmp-long v1, v2, v4
if-eqz v1, :cond_13
const/high16 v1, 0x3f800000 # 1.0f
if-eq v0, v1, :cond_13
const/high16 v1, 0x40000000 # 2.0f
if-ne v0, v1, :cond_1c
:cond_13
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
float-to-int v1, p1
add-int/lit8 v1, v1, 0xb
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_1b
return-void
:cond_1c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
new-instance v1, Ljava/lang/Float;
invoke-direct {v1, p1}, Ljava/lang/Float;-><init>(F)V
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_1b
.end method
.method public push(I)V
.registers 4
const/4 v0, -0x1
if-lt p1, v0, :cond_e
const/4 v0, 0x5
if-gt p1, v0, :cond_e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
add-int/lit8 v1, p1, 0x3
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_d
return-void
:cond_e
const/16 v0, -0x80
if-lt p1, v0, :cond_1e
const/16 v0, 0x7f
if-gt p1, v0, :cond_1e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x10
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitIntInsn(II)V
goto :goto_d
:cond_1e
const/16 v0, -0x8000
if-lt p1, v0, :cond_2e
const/16 v0, 0x7fff
if-gt p1, v0, :cond_2e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x11
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitIntInsn(II)V
goto :goto_d
:cond_2e
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
new-instance v1, Ljava/lang/Integer;
invoke-direct {v1, p1}, Ljava/lang/Integer;-><init>(I)V
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_d
.end method
.method public push(J)V
.registers 6
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-eqz v0, :cond_c
const-wide/16 v0, 0x1
cmp-long v0, p1, v0
if-nez v0, :cond_15
:cond_c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
long-to-int v1, p1
add-int/lit8 v1, v1, 0x9
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_14
return-void
:cond_15
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
new-instance v1, Ljava/lang/Long;
invoke-direct {v1, p1, p2}, Ljava/lang/Long;-><init>(J)V
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_14
.end method
.method public push(Ljava/lang/String;)V
.registers 4
if-nez p1, :cond_9
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_8
return-void
:cond_9
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_8
.end method
.method public push(Lorg/objectweb/asm/Handle;)V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
return-void
.end method
.method public push(Lorg/objectweb/asm/Type;)V
.registers 7
const/16 v4, 0xb2
if-nez p1, :cond_b
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
:goto_a
return-void
:cond_b
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
packed-switch v0, :pswitch_data_78
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/MethodVisitor;->visitLdcInsn(Ljava/lang/Object;)V
goto :goto_a
:pswitch_18
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Boolean"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_24
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Character"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_30
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Byte"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_3c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Short"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_48
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Integer"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_54
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Float"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_60
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Long"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_6c
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const-string v1, "java/lang/Double"
const-string v2, "TYPE"
const-string v3, "Ljava/lang/Class;"
invoke-virtual {v0, v4, v1, v2, v3}, Lorg/objectweb/asm/MethodVisitor;->visitFieldInsn(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_a
:pswitch_data_78
.packed-switch 0x1
:pswitch_18
:pswitch_24
:pswitch_30
:pswitch_3c
:pswitch_48
:pswitch_54
:pswitch_60
:pswitch_6c
.end packed-switch
.end method
.method public push(Z)V
.registers 3
if-eqz p1, :cond_7
const/4 v0, 0x1
:goto_3
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(I)V
return-void
:cond_7
const/4 v0, 0x0
goto :goto_3
.end method
.method public putField(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
.registers 5
const/16 v0, 0xb5
invoke-direct {p0, v0, p1, p2, p3}, Lorg/objectweb/asm/commons/GeneratorAdapter;->fieldInsn(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
return-void
.end method
.method public putStatic(Lorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
.registers 5
const/16 v0, 0xb3
invoke-direct {p0, v0, p1, p2, p3}, Lorg/objectweb/asm/commons/GeneratorAdapter;->fieldInsn(ILorg/objectweb/asm/Type;Ljava/lang/String;Lorg/objectweb/asm/Type;)V
return-void
.end method
.method public ret(I)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xa9
invoke-virtual {v0, v1, p1}, Lorg/objectweb/asm/MethodVisitor;->visitVarInsn(II)V
return-void
.end method
.method public returnValue()V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->returnType:Lorg/objectweb/asm/Type;
const/16 v2, 0xac
invoke-virtual {v1, v2}, Lorg/objectweb/asm/Type;->getOpcode(I)I
move-result v1
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method protected setLocalType(ILorg/objectweb/asm/Type;)V
.registers 6
iget v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->firstLocal:I
sub-int v0, p1, v0
:goto_4
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->localTypes:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
add-int/lit8 v2, v0, 0x1
if-ge v1, v2, :cond_15
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->localTypes:Ljava/util/List;
const/4 v2, 0x0
invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_4
:cond_15
iget-object v1, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->localTypes:Ljava/util/List;
invoke-interface {v1, v0, p2}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public storeArg(I)V
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->argumentTypes:[Lorg/objectweb/asm/Type;
aget-object v0, v0, p1
invoke-direct {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getArgIndex(I)I
move-result v1
invoke-direct {p0, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->storeInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public storeLocal(I)V
.registers 3
invoke-virtual {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getLocalType(I)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-direct {p0, v0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->storeInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public storeLocal(ILorg/objectweb/asm/Type;)V
.registers 3
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->setLocalType(ILorg/objectweb/asm/Type;)V
invoke-direct {p0, p2, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->storeInsn(Lorg/objectweb/asm/Type;I)V
return-void
.end method
.method public swap()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0x5f
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public swap(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/Type;)V
.registers 5
const/4 v1, 0x1
invoke-virtual {p2}, Lorg/objectweb/asm/Type;->getSize()I
move-result v0
if-ne v0, v1, :cond_18
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSize()I
move-result v0
if-ne v0, v1, :cond_11
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->swap()V
:goto_10
return-void
:cond_11
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dupX2()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->pop()V
goto :goto_10
:cond_18
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSize()I
move-result v0
if-ne v0, v1, :cond_25
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dup2X1()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->pop2()V
goto :goto_10
:cond_25
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dup2X2()V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->pop2()V
goto :goto_10
.end method
.method public tableSwitch([ILorg/objectweb/asm/commons/TableSwitchGenerator;)V
.registers 7
const/4 v0, 0x0
array-length v1, p1
if-nez v1, :cond_10
const/4 v1, 0x0
:goto_5
const/high16 v2, 0x3f000000 # 0.5f
cmpl-float v1, v1, v2
if-ltz v1, :cond_c
const/4 v0, 0x1
:cond_c
invoke-virtual {p0, p1, p2, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->tableSwitch([ILorg/objectweb/asm/commons/TableSwitchGenerator;Z)V
return-void
:cond_10
array-length v1, p1
int-to-float v1, v1
array-length v2, p1
add-int/lit8 v2, v2, -0x1
aget v2, p1, v2
aget v3, p1, v0
sub-int/2addr v2, v3
add-int/lit8 v2, v2, 0x1
int-to-float v2, v2
div-float/2addr v1, v2
goto :goto_5
.end method
.method public tableSwitch([ILorg/objectweb/asm/commons/TableSwitchGenerator;Z)V
.registers 15
const/4 v1, 0x0
const/4 v0, 0x1
:goto_2
array-length v2, p1
if-ge v0, v2, :cond_18
aget v2, p1, v0
add-int/lit8 v3, v0, -0x1
aget v3, p1, v3
if-ge v2, v3, :cond_15
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "keys must be sorted ascending"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
:cond_15
add-int/lit8 v0, v0, 0x1
goto :goto_2
:cond_18
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newLabel()Lorg/objectweb/asm/Label;
move-result-object v2
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newLabel()Lorg/objectweb/asm/Label;
move-result-object v3
array-length v0, p1
if-lez v0, :cond_7d
array-length v4, p1
aget v5, p1, v1
add-int/lit8 v0, v4, -0x1
aget v6, p1, v0
sub-int v0, v6, v5
add-int/lit8 v7, v0, 0x1
if-eqz p3, :cond_5a
new-array v8, v7, [Lorg/objectweb/asm/Label;
invoke-static {v8, v2}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
move v0, v1
:goto_36
if-ge v0, v4, :cond_44
aget v9, p1, v0
sub-int/2addr v9, v5
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newLabel()Lorg/objectweb/asm/Label;
move-result-object v10
aput-object v10, v8, v9
add-int/lit8 v0, v0, 0x1
goto :goto_36
:cond_44
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, v5, v6, v2, v8}, Lorg/objectweb/asm/MethodVisitor;->visitTableSwitchInsn(IILorg/objectweb/asm/Label;[Lorg/objectweb/asm/Label;)V
:goto_49
if-ge v1, v7, :cond_7d
aget-object v0, v8, v1
if-eq v0, v2, :cond_57
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark(Lorg/objectweb/asm/Label;)V
add-int v0, v1, v5
invoke-interface {p2, v0, v3}, Lorg/objectweb/asm/commons/TableSwitchGenerator;->generateCase(ILorg/objectweb/asm/Label;)V
:cond_57
add-int/lit8 v1, v1, 0x1
goto :goto_49
:cond_5a
new-array v5, v4, [Lorg/objectweb/asm/Label;
move v0, v1
:goto_5d
if-ge v0, v4, :cond_68
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newLabel()Lorg/objectweb/asm/Label;
move-result-object v6
aput-object v6, v5, v0
add-int/lit8 v0, v0, 0x1
goto :goto_5d
:cond_68
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
invoke-virtual {v0, v2, p1, v5}, Lorg/objectweb/asm/MethodVisitor;->visitLookupSwitchInsn(Lorg/objectweb/asm/Label;[I[Lorg/objectweb/asm/Label;)V
move v0, v1
:goto_6e
if-ge v0, v4, :cond_7d
aget-object v1, v5, v0
invoke-virtual {p0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark(Lorg/objectweb/asm/Label;)V
aget v1, p1, v0
invoke-interface {p2, v1, v3}, Lorg/objectweb/asm/commons/TableSwitchGenerator;->generateCase(ILorg/objectweb/asm/Label;)V
add-int/lit8 v0, v0, 0x1
goto :goto_6e
:cond_7d
invoke-virtual {p0, v2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark(Lorg/objectweb/asm/Label;)V
invoke-interface {p2}, Lorg/objectweb/asm/commons/TableSwitchGenerator;->generateDefault()V
invoke-virtual {p0, v3}, Lorg/objectweb/asm/commons/GeneratorAdapter;->mark(Lorg/objectweb/asm/Label;)V
return-void
.end method
.method public throwException()V
.registers 3
iget-object v0, p0, Lorg/objectweb/asm/commons/GeneratorAdapter;->mv:Lorg/objectweb/asm/MethodVisitor;
const/16 v1, 0xbf
invoke-virtual {v0, v1}, Lorg/objectweb/asm/MethodVisitor;->visitInsn(I)V
return-void
.end method
.method public throwException(Lorg/objectweb/asm/Type;Ljava/lang/String;)V
.registers 4
invoke-virtual {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->newInstance(Lorg/objectweb/asm/Type;)V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->dup()V
invoke-virtual {p0, p2}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(Ljava/lang/String;)V
const-string v0, "void <init> (String)"
invoke-static {v0}, Lorg/objectweb/asm/commons/Method;->getMethod(Ljava/lang/String;)Lorg/objectweb/asm/commons/Method;
move-result-object v0
invoke-virtual {p0, p1, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeConstructor(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
invoke-virtual {p0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->throwException()V
return-void
.end method
.method public unbox(Lorg/objectweb/asm/Type;)V
.registers 5
sget-object v1, Lorg/objectweb/asm/commons/GeneratorAdapter;->NUMBER_TYPE:Lorg/objectweb/asm/Type;
const/4 v0, 0x0
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v2
packed-switch v2, :pswitch_data_2e
:goto_a
if-nez v0, :cond_26
invoke-virtual {p0, p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->checkCast(Lorg/objectweb/asm/Type;)V
:goto_f
:pswitch_f
return-void
:pswitch_10
sget-object v1, Lorg/objectweb/asm/commons/GeneratorAdapter;->CHARACTER_TYPE:Lorg/objectweb/asm/Type;
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->CHAR_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:pswitch_15
sget-object v1, Lorg/objectweb/asm/commons/GeneratorAdapter;->BOOLEAN_TYPE:Lorg/objectweb/asm/Type;
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->BOOLEAN_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:pswitch_1a
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->DOUBLE_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:pswitch_1d
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->FLOAT_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:pswitch_20
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->LONG_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:pswitch_23
sget-object v0, Lorg/objectweb/asm/commons/GeneratorAdapter;->INT_VALUE:Lorg/objectweb/asm/commons/Method;
goto :goto_a
:cond_26
invoke-virtual {p0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->checkCast(Lorg/objectweb/asm/Type;)V
invoke-virtual {p0, v1, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeVirtual(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
goto :goto_f
nop
:pswitch_data_2e
.packed-switch 0x0
:pswitch_f
:pswitch_15
:pswitch_10
:pswitch_23
:pswitch_23
:pswitch_23
:pswitch_1d
:pswitch_20
:pswitch_1a
.end packed-switch
.end method
.method public valueOf(Lorg/objectweb/asm/Type;)V
.registers 7
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v1, 0xa
if-eq v0, v1, :cond_10
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v1, 0x9
if-ne v0, v1, :cond_11
:cond_10
:goto_10
return-void
:cond_11
sget-object v0, Lorg/objectweb/asm/Type;->VOID_TYPE:Lorg/objectweb/asm/Type;
if-ne p1, v0, :cond_1a
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/GeneratorAdapter;->push(Ljava/lang/String;)V
goto :goto_10
:cond_1a
invoke-static {p1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->getBoxedType(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/Type;
move-result-object v0
new-instance v1, Lorg/objectweb/asm/commons/Method;
const-string v2, "valueOf"
const/4 v3, 0x1
new-array v3, v3, [Lorg/objectweb/asm/Type;
const/4 v4, 0x0
aput-object p1, v3, v4
invoke-direct {v1, v2, v0, v3}, Lorg/objectweb/asm/commons/Method;-><init>(Ljava/lang/String;Lorg/objectweb/asm/Type;[Lorg/objectweb/asm/Type;)V
invoke-virtual {p0, v0, v1}, Lorg/objectweb/asm/commons/GeneratorAdapter;->invokeStatic(Lorg/objectweb/asm/Type;Lorg/objectweb/asm/commons/Method;)V
goto :goto_10
.end method