InliningInstructionAdapter refactoring: renamed to MethodBodyVisitor, added additional empty owerrides
This commit is contained in:
@@ -308,7 +308,7 @@ public class InlineCodegen extends CallGenerator {
|
|||||||
generateAndInsertFinallyBlocks(adapter, infos, ((StackValue.Local)remapper.remap(parameters.getArgsSizeOnStack() + 1).value).index);
|
generateAndInsertFinallyBlocks(adapter, infos, ((StackValue.Local)remapper.remap(parameters.getArgsSizeOnStack() + 1).value).index);
|
||||||
removeFinallyMarkers(adapter);
|
removeFinallyMarkers(adapter);
|
||||||
|
|
||||||
adapter.accept(new InliningInstructionAdapter(codegen.v));
|
adapter.accept(new MethodBodyVisitor(codegen.v));
|
||||||
|
|
||||||
addInlineMarker(codegen.v, false);
|
addInlineMarker(codegen.v, false);
|
||||||
|
|
||||||
|
|||||||
+23
-6
@@ -18,27 +18,33 @@ package org.jetbrains.kotlin.codegen.inline;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.org.objectweb.asm.AnnotationVisitor;
|
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.MethodVisitor;
|
||||||
|
import org.jetbrains.org.objectweb.asm.TypePath;
|
||||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter;
|
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);
|
super(InlineCodegenUtil.API, mv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void visitParameter(String name, int access) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AnnotationVisitor visitAnnotationDefault() {
|
public AnnotationVisitor visitAnnotationDefault() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void visitMaxs(int maxStack, int maxLocals) {
|
public AnnotationVisitor visitAnnotation(@NotNull String desc, boolean visible) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AnnotationVisitor visitAnnotation(@NotNull String desc, boolean visible) {
|
public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String desc, boolean visible) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +54,18 @@ public class InliningInstructionAdapter extends InstructionAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -147,7 +147,7 @@ public class MethodInliner {
|
|||||||
|
|
||||||
processReturns(resultNode, labelOwner, remapReturn, end);
|
processReturns(resultNode, labelOwner, remapReturn, end);
|
||||||
//flush transformed node to output
|
//flush transformed node to output
|
||||||
resultNode.accept(new InliningInstructionAdapter(adapter));
|
resultNode.accept(new MethodBodyVisitor(adapter));
|
||||||
|
|
||||||
sourceMapper.endMapping();
|
sourceMapper.endMapping();
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -18,13 +18,12 @@ package org.jetbrains.kotlin.codegen.inline;
|
|||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.kotlin.codegen.StackValue;
|
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.Label;
|
||||||
import org.jetbrains.org.objectweb.asm.MethodVisitor;
|
import org.jetbrains.org.objectweb.asm.MethodVisitor;
|
||||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter;
|
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter;
|
||||||
import org.jetbrains.org.objectweb.asm.tree.FieldInsnNode;
|
import org.jetbrains.org.objectweb.asm.tree.FieldInsnNode;
|
||||||
|
|
||||||
public class RemapVisitor extends InliningInstructionAdapter {
|
public class RemapVisitor extends MethodBodyVisitor {
|
||||||
private final LocalVarRemapper remapper;
|
private final LocalVarRemapper remapper;
|
||||||
private final FieldRemapper nodeRemapper;
|
private final FieldRemapper nodeRemapper;
|
||||||
private final InstructionAdapter instructionAdapter;
|
private final InstructionAdapter instructionAdapter;
|
||||||
@@ -74,29 +73,4 @@ public class RemapVisitor extends InliningInstructionAdapter {
|
|||||||
super.visitFieldInsn(opcode, owner, name, desc);
|
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user