Skip to content

Commit 3dfce18

Browse files
authored
Avoid using MethodVisitor getDelegate (#266)
1 parent f4d67ae commit 3dfce18

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

sourcegen-bytecode-writer/src/main/java/io/micronaut/sourcegen/bytecode/ByteCodeWriter.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.objectweb.asm.ClassWriter;
3939
import org.objectweb.asm.FieldVisitor;
4040
import org.objectweb.asm.Label;
41+
import org.objectweb.asm.MethodVisitor;
4142
import org.objectweb.asm.Type;
4243
import org.objectweb.asm.commons.GeneratorAdapter;
4344
import org.objectweb.asm.util.CheckClassAdapter;
@@ -445,13 +446,14 @@ public void writeMethod(ClassVisitor classVisitor, @Nullable ObjectDef objectDef
445446
if (methodDef.isSynthetic()) {
446447
modifiersFlag |= ACC_SYNTHETIC;
447448
}
448-
GeneratorAdapter generatorAdapter = new GeneratorAdapter(classVisitor.visitMethod(
449+
MethodVisitor methodVisitor = classVisitor.visitMethod(
449450
modifiersFlag,
450451
name,
451452
methodDescriptor,
452453
SignatureWriterUtils.getMethodSignature(objectDef, methodDef),
453454
null
454-
), modifiersFlag, name, methodDescriptor);
455+
);
456+
GeneratorAdapter generatorAdapter = new GeneratorAdapter(methodVisitor, modifiersFlag, name, methodDescriptor);
455457
for (AnnotationDef annotation : methodDef.getAnnotations()) {
456458
generatorAdapter.visitAnnotation(TypeUtils.getType(annotation.getType(), null).getDescriptor(), true);
457459
}
@@ -510,7 +512,7 @@ public void writeMethod(ClassVisitor classVisitor, @Nullable ObjectDef objectDef
510512
generatorAdapter.visitLabel(endMethod);
511513
}
512514
for (MethodContext.LocalData localsDatum : context.locals().values()) {
513-
generatorAdapter.getDelegate().visitLocalVariable(
515+
methodVisitor.visitLocalVariable(
514516
localsDatum.name(),
515517
localsDatum.type().getDescriptor(),
516518
null,

0 commit comments

Comments
 (0)