diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java index 291cdaea137..e2e291fb85a 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InlineCodegen.java @@ -308,7 +308,7 @@ public class InlineCodegen extends CallGenerator { generateAndInsertFinallyBlocks(adapter, infos, ((StackValue.Local)remapper.remap(parameters.getArgsSizeOnStack() + 1).value).index); removeFinallyMarkers(adapter); - adapter.accept(new InliningInstructionAdapter(codegen.v)); + adapter.accept(new MethodBodyVisitor(codegen.v)); addInlineMarker(codegen.v, false); diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningInstructionAdapter.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodBodyVisitor.java similarity index 71% rename from compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningInstructionAdapter.java rename to compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodBodyVisitor.java index 6bef8955525..6d85ae0f52c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/InliningInstructionAdapter.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodBodyVisitor.java @@ -18,27 +18,33 @@ package org.jetbrains.kotlin.codegen.inline; import org.jetbrains.annotations.NotNull; import org.jetbrains.org.objectweb.asm.AnnotationVisitor; +import org.jetbrains.org.objectweb.asm.Attribute; import org.jetbrains.org.objectweb.asm.MethodVisitor; +import org.jetbrains.org.objectweb.asm.TypePath; import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter; -public class InliningInstructionAdapter extends InstructionAdapter { +public class MethodBodyVisitor extends InstructionAdapter { - public InliningInstructionAdapter(MethodVisitor mv) { + public MethodBodyVisitor(MethodVisitor mv) { super(InlineCodegenUtil.API, mv); } + @Override + public void visitParameter(String name, int access) { + } + @Override public AnnotationVisitor visitAnnotationDefault() { return null; } @Override - public void visitMaxs(int maxStack, int maxLocals) { - + public AnnotationVisitor visitAnnotation(@NotNull String desc, boolean visible) { + return null; } @Override - public AnnotationVisitor visitAnnotation(@NotNull String desc, boolean visible) { + public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) { return null; } @@ -48,7 +54,18 @@ public class InliningInstructionAdapter extends InstructionAdapter { } @Override - public void visitEnd() { + public void visitAttribute(Attribute attr) { + } + @Override + public void visitCode() { + } + + @Override + public void visitMaxs(int maxStack, int maxLocals) { + } + + @Override + public void visitEnd() { } } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java index 2758b42604b..9f214c2a5a0 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java @@ -147,7 +147,7 @@ public class MethodInliner { processReturns(resultNode, labelOwner, remapReturn, end); //flush transformed node to output - resultNode.accept(new InliningInstructionAdapter(adapter)); + resultNode.accept(new MethodBodyVisitor(adapter)); sourceMapper.endMapping(); return result; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RemapVisitor.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RemapVisitor.java index 14597d78e4f..e439471805e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RemapVisitor.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/RemapVisitor.java @@ -18,13 +18,12 @@ package org.jetbrains.kotlin.codegen.inline; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.codegen.StackValue; -import org.jetbrains.org.objectweb.asm.AnnotationVisitor; import org.jetbrains.org.objectweb.asm.Label; import org.jetbrains.org.objectweb.asm.MethodVisitor; import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter; import org.jetbrains.org.objectweb.asm.tree.FieldInsnNode; -public class RemapVisitor extends InliningInstructionAdapter { +public class RemapVisitor extends MethodBodyVisitor { private final LocalVarRemapper remapper; private final FieldRemapper nodeRemapper; private final InstructionAdapter instructionAdapter; @@ -74,29 +73,4 @@ public class RemapVisitor extends InliningInstructionAdapter { super.visitFieldInsn(opcode, owner, name, desc); } } - - @Override - public AnnotationVisitor visitAnnotationDefault() { - return null; - } - - @Override - public void visitMaxs(int maxStack, int maxLocals) { - - } - - @Override - public void visitEnd() { - - } - - @Override - public AnnotationVisitor visitAnnotation(@NotNull String desc, boolean visible) { - return null; - } - - @Override - public AnnotationVisitor visitParameterAnnotation(int parameter, @NotNull String desc, boolean visible) { - return null; - } }