BasicInterpreter.smali
.class public Lorg/objectweb/asm/tree/analysis/BasicInterpreter;
.super Lorg/objectweb/asm/tree/analysis/Interpreter;
# interfaces
.implements Lorg/objectweb/asm/Opcodes;
# direct methods
.method public constructor <init>()V
.registers 2
const/high16 v0, 0x50000
invoke-direct {p0, v0}, Lorg/objectweb/asm/tree/analysis/Interpreter;-><init>(I)V
return-void
.end method
.method protected constructor <init>(I)V
.registers 2
invoke-direct {p0, p1}, Lorg/objectweb/asm/tree/analysis/Interpreter;-><init>(I)V
return-void
.end method
# virtual methods
.method public binaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 6
invoke-virtual {p1}, Lorg/objectweb/asm/tree/AbstractInsnNode;->getOpcode()I
move-result v0
sparse-switch v0, :sswitch_data_24
new-instance v0, Ljava/lang/Error;
const-string v1, "Internal error."
invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw v0
:sswitch_f
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
:goto_11
return-object v0
:sswitch_12
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->FLOAT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_11
:sswitch_15
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->LONG_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_11
:sswitch_18
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->DOUBLE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_11
:sswitch_1b
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->REFERENCE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_11
:sswitch_1e
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_11
:sswitch_21
const/4 v0, 0x0
goto :goto_11
nop
:sswitch_data_24
.sparse-switch
0x2e -> :sswitch_f
0x2f -> :sswitch_15
0x30 -> :sswitch_12
0x31 -> :sswitch_18
0x32 -> :sswitch_1b
0x33 -> :sswitch_f
0x34 -> :sswitch_f
0x35 -> :sswitch_f
0x60 -> :sswitch_f
0x61 -> :sswitch_15
0x62 -> :sswitch_12
0x63 -> :sswitch_18
0x64 -> :sswitch_f
0x65 -> :sswitch_15
0x66 -> :sswitch_12
0x67 -> :sswitch_18
0x68 -> :sswitch_f
0x69 -> :sswitch_15
0x6a -> :sswitch_12
0x6b -> :sswitch_18
0x6c -> :sswitch_f
0x6d -> :sswitch_15
0x6e -> :sswitch_12
0x6f -> :sswitch_18
0x70 -> :sswitch_f
0x71 -> :sswitch_15
0x72 -> :sswitch_12
0x73 -> :sswitch_18
0x78 -> :sswitch_f
0x79 -> :sswitch_15
0x7a -> :sswitch_f
0x7b -> :sswitch_15
0x7c -> :sswitch_f
0x7d -> :sswitch_15
0x7e -> :sswitch_f
0x7f -> :sswitch_15
0x80 -> :sswitch_f
0x81 -> :sswitch_15
0x82 -> :sswitch_f
0x83 -> :sswitch_15
0x94 -> :sswitch_1e
0x95 -> :sswitch_1e
0x96 -> :sswitch_1e
0x97 -> :sswitch_1e
0x98 -> :sswitch_1e
0x9f -> :sswitch_21
0xa0 -> :sswitch_21
0xa1 -> :sswitch_21
0xa2 -> :sswitch_21
0xa3 -> :sswitch_21
0xa4 -> :sswitch_21
0xa5 -> :sswitch_21
0xa6 -> :sswitch_21
0xb5 -> :sswitch_21
.end sparse-switch
.end method
.method public bridge binaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/Value;Lorg/objectweb/asm/tree/analysis/Value;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 5
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
check-cast p3, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2, p3}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->binaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public copyOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 3
return-object p2
.end method
.method public bridge copyOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/Value;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 4
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->copyOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public merge(Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 4
invoke-virtual {p1, p2}, Lorg/objectweb/asm/tree/analysis/BasicValue;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_8
sget-object p1, Lorg/objectweb/asm/tree/analysis/BasicValue;->UNINITIALIZED_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
:cond_8
return-object p1
.end method
.method public bridge merge(Lorg/objectweb/asm/tree/analysis/Value;Lorg/objectweb/asm/tree/analysis/Value;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 4
check-cast p1, Lorg/objectweb/asm/tree/analysis/BasicValue;
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->merge(Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public naryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Ljava/util/List;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 5
invoke-virtual {p1}, Lorg/objectweb/asm/tree/AbstractInsnNode;->getOpcode()I
move-result v0
const/16 v1, 0xc5
if-ne v0, v1, :cond_15
check-cast p1, Lorg/objectweb/asm/tree/MultiANewArrayInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/MultiANewArrayInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
:goto_14
return-object v0
:cond_15
const/16 v1, 0xba
if-ne v0, v1, :cond_26
check-cast p1, Lorg/objectweb/asm/tree/InvokeDynamicInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/InvokeDynamicInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getReturnType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_14
:cond_26
check-cast p1, Lorg/objectweb/asm/tree/MethodInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/MethodInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getReturnType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_14
.end method
.method public bridge naryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Ljava/util/List;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 4
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->naryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Ljava/util/List;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public newOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 6
invoke-virtual {p1}, Lorg/objectweb/asm/tree/AbstractInsnNode;->getOpcode()I
move-result v0
sparse-switch v0, :sswitch_data_e0
new-instance v0, Ljava/lang/Error;
const-string v1, "Internal error."
invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw v0
:sswitch_f
const-string v0, "null"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
:goto_19
return-object v0
:sswitch_1a
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:sswitch_1d
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->LONG_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:sswitch_20
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->FLOAT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:sswitch_23
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->DOUBLE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:sswitch_26
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:sswitch_29
check-cast p1, Lorg/objectweb/asm/tree/LdcInsnNode;
iget-object v1, p1, Lorg/objectweb/asm/tree/LdcInsnNode;->cst:Ljava/lang/Object;
instance-of v0, v1, Ljava/lang/Integer;
if-eqz v0, :cond_34
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:cond_34
instance-of v0, v1, Ljava/lang/Float;
if-eqz v0, :cond_3b
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->FLOAT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:cond_3b
instance-of v0, v1, Ljava/lang/Long;
if-eqz v0, :cond_42
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->LONG_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:cond_42
instance-of v0, v1, Ljava/lang/Double;
if-eqz v0, :cond_49
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->DOUBLE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_19
:cond_49
instance-of v0, v1, Ljava/lang/String;
if-eqz v0, :cond_58
const-string v0, "java/lang/String"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_19
:cond_58
instance-of v0, v1, Lorg/objectweb/asm/Type;
if-eqz v0, :cond_9a
move-object v0, v1
check-cast v0, Lorg/objectweb/asm/Type;
invoke-virtual {v0}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
const/16 v2, 0xa
if-eq v0, v2, :cond_6b
const/16 v2, 0x9
if-ne v0, v2, :cond_76
:cond_6b
const-string v0, "java/lang/Class"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_19
:cond_76
const/16 v2, 0xb
if-ne v0, v2, :cond_85
const-string v0, "java/lang/invoke/MethodType"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_19
:cond_85
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuffer;
const-string v3, "Illegal LDC constant "
invoke-direct {v2, v3}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, 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
:cond_9a
instance-of v0, v1, Lorg/objectweb/asm/Handle;
if-eqz v0, :cond_aa
const-string v0, "java/lang/invoke/MethodHandle"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto/16 :goto_19
:cond_aa
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuffer;
const-string v3, "Illegal LDC constant "
invoke-direct {v2, v3}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, 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
:sswitch_bf
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->RETURNADDRESS_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto/16 :goto_19
:sswitch_c3
check-cast p1, Lorg/objectweb/asm/tree/FieldInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/FieldInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto/16 :goto_19
:sswitch_d1
check-cast p1, Lorg/objectweb/asm/tree/TypeInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/TypeInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto/16 :goto_19
nop
:sswitch_data_e0
.sparse-switch
0x1 -> :sswitch_f
0x2 -> :sswitch_1a
0x3 -> :sswitch_1a
0x4 -> :sswitch_1a
0x5 -> :sswitch_1a
0x6 -> :sswitch_1a
0x7 -> :sswitch_1a
0x8 -> :sswitch_1a
0x9 -> :sswitch_1d
0xa -> :sswitch_1d
0xb -> :sswitch_20
0xc -> :sswitch_20
0xd -> :sswitch_20
0xe -> :sswitch_23
0xf -> :sswitch_23
0x10 -> :sswitch_26
0x11 -> :sswitch_26
0x12 -> :sswitch_29
0xa8 -> :sswitch_bf
0xb2 -> :sswitch_c3
0xbb -> :sswitch_d1
.end sparse-switch
.end method
.method public bridge newOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 3
invoke-virtual {p0, p1}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 4
if-nez p1, :cond_5
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->UNINITIALIZED_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
:goto_4
return-object v0
:cond_5
invoke-virtual {p1}, Lorg/objectweb/asm/Type;->getSort()I
move-result v0
packed-switch v0, :pswitch_data_26
new-instance v0, Ljava/lang/Error;
const-string v1, "Internal error"
invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_14
const/4 v0, 0x0
goto :goto_4
:pswitch_16
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_4
:pswitch_19
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->FLOAT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_4
:pswitch_1c
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->LONG_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_4
:pswitch_1f
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->DOUBLE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_4
:pswitch_22
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->REFERENCE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_4
nop
:pswitch_data_26
.packed-switch 0x0
:pswitch_14
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_16
:pswitch_19
:pswitch_1c
:pswitch_1f
:pswitch_22
:pswitch_22
.end packed-switch
.end method
.method public bridge newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 3
invoke-virtual {p0, p1}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public returnOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)V
.registers 4
return-void
.end method
.method public bridge returnOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/Value;Lorg/objectweb/asm/tree/analysis/Value;)V
.registers 4
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
check-cast p3, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2, p3}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->returnOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)V
return-void
.end method
.method public ternaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 6
const/4 v0, 0x0
return-object v0
.end method
.method public bridge ternaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/Value;Lorg/objectweb/asm/tree/analysis/Value;Lorg/objectweb/asm/tree/analysis/Value;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 6
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
check-cast p3, Lorg/objectweb/asm/tree/analysis/BasicValue;
check-cast p4, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2, p3, p4}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->ternaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method
.method public unaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
.registers 6
const/4 v0, 0x0
invoke-virtual {p1}, Lorg/objectweb/asm/tree/AbstractInsnNode;->getOpcode()I
move-result v1
packed-switch v1, :pswitch_data_c8
:pswitch_8
new-instance v0, Ljava/lang/Error;
const-string v1, "Internal error."
invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw v0
:pswitch_10
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
:goto_12
:pswitch_12
return-object v0
:pswitch_13
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->FLOAT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_12
:pswitch_16
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->LONG_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_12
:pswitch_19
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->DOUBLE_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto :goto_12
:pswitch_1c
check-cast p1, Lorg/objectweb/asm/tree/FieldInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/FieldInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_29
move-object v0, p1
check-cast v0, Lorg/objectweb/asm/tree/IntInsnNode;
iget v0, v0, Lorg/objectweb/asm/tree/IntInsnNode;->operand:I
packed-switch v0, :pswitch_data_174
new-instance v0, Lorg/objectweb/asm/tree/analysis/AnalyzerException;
const-string v1, "Invalid array type"
invoke-direct {v0, p1, v1}, Lorg/objectweb/asm/tree/analysis/AnalyzerException;-><init>(Lorg/objectweb/asm/tree/AbstractInsnNode;Ljava/lang/String;)V
throw v0
:pswitch_39
const-string v0, "[Z"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_44
const-string v0, "[C"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_4f
const-string v0, "[B"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_5a
const-string v0, "[S"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_65
const-string v0, "[I"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_70
const-string v0, "[F"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_7b
const-string v0, "[D"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_86
const-string v0, "[J"
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto :goto_12
:pswitch_91
check-cast p1, Lorg/objectweb/asm/tree/TypeInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/TypeInsnNode;->desc:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuffer;
const-string v2, "["
invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lorg/objectweb/asm/Type;->getType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto/16 :goto_12
:pswitch_b2
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto/16 :goto_12
:pswitch_b6
check-cast p1, Lorg/objectweb/asm/tree/TypeInsnNode;
iget-object v0, p1, Lorg/objectweb/asm/tree/TypeInsnNode;->desc:Ljava/lang/String;
invoke-static {v0}, Lorg/objectweb/asm/Type;->getObjectType(Ljava/lang/String;)Lorg/objectweb/asm/Type;
move-result-object v0
invoke-virtual {p0, v0}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->newValue(Lorg/objectweb/asm/Type;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
goto/16 :goto_12
:pswitch_c4
sget-object v0, Lorg/objectweb/asm/tree/analysis/BasicValue;->INT_VALUE:Lorg/objectweb/asm/tree/analysis/BasicValue;
goto/16 :goto_12
:pswitch_data_c8
.packed-switch 0x74
:pswitch_10
:pswitch_16
:pswitch_13
:pswitch_19
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_10
:pswitch_16
:pswitch_13
:pswitch_19
:pswitch_10
:pswitch_13
:pswitch_19
:pswitch_10
:pswitch_16
:pswitch_19
:pswitch_10
:pswitch_16
:pswitch_13
:pswitch_10
:pswitch_10
:pswitch_10
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_12
:pswitch_8
:pswitch_8
:pswitch_12
:pswitch_1c
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_8
:pswitch_29
:pswitch_91
:pswitch_b2
:pswitch_12
:pswitch_b6
:pswitch_c4
:pswitch_12
:pswitch_12
:pswitch_8
:pswitch_8
:pswitch_12
:pswitch_12
.end packed-switch
:pswitch_data_174
.packed-switch 0x4
:pswitch_39
:pswitch_44
:pswitch_70
:pswitch_7b
:pswitch_4f
:pswitch_5a
:pswitch_65
:pswitch_86
.end packed-switch
.end method
.method public bridge unaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/Value;)Lorg/objectweb/asm/tree/analysis/Value;
.registers 4
check-cast p2, Lorg/objectweb/asm/tree/analysis/BasicValue;
invoke-virtual {p0, p1, p2}, Lorg/objectweb/asm/tree/analysis/BasicInterpreter;->unaryOperation(Lorg/objectweb/asm/tree/AbstractInsnNode;Lorg/objectweb/asm/tree/analysis/BasicValue;)Lorg/objectweb/asm/tree/analysis/BasicValue;
move-result-object v0
return-object v0
.end method