RemappingClassAdapter.smali
.class public Lorg/objectweb/asm/commons/RemappingClassAdapter;
.super Lorg/objectweb/asm/ClassVisitor;
# instance fields
.field protected className:Ljava/lang/String;
.field protected final remapper:Lorg/objectweb/asm/commons/Remapper;
# direct methods
.method protected constructor <init>(ILorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/commons/Remapper;)V
.registers 4
invoke-direct {p0, p1, p2}, Lorg/objectweb/asm/ClassVisitor;-><init>(ILorg/objectweb/asm/ClassVisitor;)V
iput-object p3, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
return-void
.end method
.method public constructor <init>(Lorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/commons/Remapper;)V
.registers 4
const/high16 v0, 0x50000
invoke-direct {p0, v0, p1, p2}, Lorg/objectweb/asm/commons/RemappingClassAdapter;-><init>(ILorg/objectweb/asm/ClassVisitor;Lorg/objectweb/asm/commons/Remapper;)V
return-void
.end method
# virtual methods
.method protected createRemappingAnnotationAdapter(Lorg/objectweb/asm/AnnotationVisitor;)Lorg/objectweb/asm/AnnotationVisitor;
.registers 4
new-instance v0, Lorg/objectweb/asm/commons/RemappingAnnotationAdapter;
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-direct {v0, p1, v1}, Lorg/objectweb/asm/commons/RemappingAnnotationAdapter;-><init>(Lorg/objectweb/asm/AnnotationVisitor;Lorg/objectweb/asm/commons/Remapper;)V
return-object v0
.end method
.method protected createRemappingFieldAdapter(Lorg/objectweb/asm/FieldVisitor;)Lorg/objectweb/asm/FieldVisitor;
.registers 4
new-instance v0, Lorg/objectweb/asm/commons/RemappingFieldAdapter;
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-direct {v0, p1, v1}, Lorg/objectweb/asm/commons/RemappingFieldAdapter;-><init>(Lorg/objectweb/asm/FieldVisitor;Lorg/objectweb/asm/commons/Remapper;)V
return-object v0
.end method
.method protected createRemappingMethodAdapter(ILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)Lorg/objectweb/asm/MethodVisitor;
.registers 6
new-instance v0, Lorg/objectweb/asm/commons/RemappingMethodAdapter;
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-direct {v0, p1, p2, p3, v1}, Lorg/objectweb/asm/commons/RemappingMethodAdapter;-><init>(ILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;Lorg/objectweb/asm/commons/Remapper;)V
return-object v0
.end method
.method public visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
.registers 14
iput-object p3, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->className:Ljava/lang/String;
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p3}, Lorg/objectweb/asm/commons/Remapper;->mapType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
const/4 v1, 0x0
invoke-virtual {v0, p4, v1}, Lorg/objectweb/asm/commons/Remapper;->mapSignature(Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v4
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p5}, Lorg/objectweb/asm/commons/Remapper;->mapType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
if-nez p6, :cond_1f
const/4 v6, 0x0
:goto_18
move-object v0, p0
move v1, p1
move v2, p2
invoke-super/range {v0 .. v6}, Lorg/objectweb/asm/ClassVisitor;->visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
return-void
:cond_1f
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p6}, Lorg/objectweb/asm/commons/Remapper;->mapTypes([Ljava/lang/String;)[Ljava/lang/String;
move-result-object v6
goto :goto_18
.end method
.method public visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
.registers 4
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/commons/Remapper;->mapDesc(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-super {p0, v0, p2}, Lorg/objectweb/asm/ClassVisitor;->visitAnnotation(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
move-result-object v0
if-nez v0, :cond_e
const/4 v0, 0x0
:goto_d
return-object v0
:cond_e
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/RemappingClassAdapter;->createRemappingAnnotationAdapter(Lorg/objectweb/asm/AnnotationVisitor;)Lorg/objectweb/asm/AnnotationVisitor;
move-result-object v0
goto :goto_d
.end method
.method public visitField(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
.registers 12
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->className:Ljava/lang/String;
invoke-virtual {v0, v1, p2, p3}, Lorg/objectweb/asm/commons/Remapper;->mapFieldName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p3}, Lorg/objectweb/asm/commons/Remapper;->mapDesc(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
const/4 v1, 0x1
invoke-virtual {v0, p4, v1}, Lorg/objectweb/asm/commons/Remapper;->mapSignature(Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v4
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p5}, Lorg/objectweb/asm/commons/Remapper;->mapValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
move-object v0, p0
move v1, p1
invoke-super/range {v0 .. v5}, Lorg/objectweb/asm/ClassVisitor;->visitField(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Lorg/objectweb/asm/FieldVisitor;
move-result-object v0
if-nez v0, :cond_25
const/4 v0, 0x0
:goto_24
return-object v0
:cond_25
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/RemappingClassAdapter;->createRemappingFieldAdapter(Lorg/objectweb/asm/FieldVisitor;)Lorg/objectweb/asm/FieldVisitor;
move-result-object v0
goto :goto_24
.end method
.method public visitInnerClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
.registers 7
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p1}, Lorg/objectweb/asm/commons/Remapper;->mapType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez p2, :cond_d
const/4 v0, 0x0
:goto_9
invoke-super {p0, v1, v0, p3, p4}, Lorg/objectweb/asm/ClassVisitor;->visitInnerClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
return-void
:cond_d
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p2}, Lorg/objectweb/asm/commons/Remapper;->mapType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_9
.end method
.method public visitMethod(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lorg/objectweb/asm/MethodVisitor;
.registers 13
const/4 v6, 0x0
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p3}, Lorg/objectweb/asm/commons/Remapper;->mapMethodDesc(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->className:Ljava/lang/String;
invoke-virtual {v0, v1, p2, p3}, Lorg/objectweb/asm/commons/Remapper;->mapMethodName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
const/4 v1, 0x0
invoke-virtual {v0, p4, v1}, Lorg/objectweb/asm/commons/Remapper;->mapSignature(Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v4
if-nez p5, :cond_22
move-object v5, v6
:goto_19
move-object v0, p0
move v1, p1
invoke-super/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
if-nez v0, :cond_29
:goto_21
return-object v6
:cond_22
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p5}, Lorg/objectweb/asm/commons/Remapper;->mapTypes([Ljava/lang/String;)[Ljava/lang/String;
move-result-object v5
goto :goto_19
:cond_29
invoke-virtual {p0, p1, v3, v0}, Lorg/objectweb/asm/commons/RemappingClassAdapter;->createRemappingMethodAdapter(ILjava/lang/String;Lorg/objectweb/asm/MethodVisitor;)Lorg/objectweb/asm/MethodVisitor;
move-result-object v6
goto :goto_21
.end method
.method public visitOuterClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 7
const/4 v0, 0x0
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v1, p1}, Lorg/objectweb/asm/commons/Remapper;->mapType(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
if-nez p2, :cond_10
move-object v1, v0
:goto_a
if-nez p3, :cond_17
:goto_c
invoke-super {p0, v2, v1, v0}, Lorg/objectweb/asm/ClassVisitor;->visitOuterClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_10
iget-object v1, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v1, p1, p2, p3}, Lorg/objectweb/asm/commons/Remapper;->mapMethodName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
goto :goto_a
:cond_17
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p3}, Lorg/objectweb/asm/commons/Remapper;->mapMethodDesc(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_c
.end method
.method public visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
.registers 6
iget-object v0, p0, Lorg/objectweb/asm/commons/RemappingClassAdapter;->remapper:Lorg/objectweb/asm/commons/Remapper;
invoke-virtual {v0, p3}, Lorg/objectweb/asm/commons/Remapper;->mapDesc(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-super {p0, p1, p2, v0, p4}, Lorg/objectweb/asm/ClassVisitor;->visitTypeAnnotation(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
move-result-object v0
if-nez v0, :cond_e
const/4 v0, 0x0
:goto_d
return-object v0
:cond_e
invoke-virtual {p0, v0}, Lorg/objectweb/asm/commons/RemappingClassAdapter;->createRemappingAnnotationAdapter(Lorg/objectweb/asm/AnnotationVisitor;)Lorg/objectweb/asm/AnnotationVisitor;
move-result-object v0
goto :goto_d
.end method