diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AbstractClassBuilder.java b/compiler/backend/src/org/jetbrains/jet/codegen/AbstractClassBuilder.java index 5facd27ecc0..e13efaf71ca 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AbstractClassBuilder.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AbstractClassBuilder.java @@ -22,8 +22,8 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.org.objectweb.asm.*; public abstract class AbstractClassBuilder implements ClassBuilder { - protected static final MethodVisitor EMPTY_METHOD_VISITOR = new MethodVisitor(Opcodes.ASM4) {}; - protected static final FieldVisitor EMPTY_FIELD_VISITOR = new FieldVisitor(Opcodes.ASM4) {}; + protected static final MethodVisitor EMPTY_METHOD_VISITOR = new MethodVisitor(Opcodes.ASM5) {}; + protected static final FieldVisitor EMPTY_FIELD_VISITOR = new FieldVisitor(Opcodes.ASM5) {}; private String thisName; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java index 8e2f98cbcb5..fb469dd4219 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/AnnotationCodegen.java @@ -48,7 +48,7 @@ import static org.jetbrains.jet.lang.resolve.BindingContextUtils.descriptorToDec public abstract class AnnotationCodegen { public static final FqName VOLATILE_FQ_NAME = new FqName("kotlin.volatile"); - private static final AnnotationVisitor NO_ANNOTATION_VISITOR = new AnnotationVisitor(Opcodes.ASM4) {}; + private static final AnnotationVisitor NO_ANNOTATION_VISITOR = new AnnotationVisitor(Opcodes.ASM5) {}; private final JetTypeMapper typeMapper; private final BindingContext bindingContext; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index 4c403c661b3..cd1ee8ab2ce 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -970,7 +970,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { mv.visitCode(); mv.visitFieldInsn(GETSTATIC, classAsmType.getInternalName(), VALUES, type.getDescriptor()); - mv.visitMethodInsn(INVOKEVIRTUAL, type.getInternalName(), "clone", "()Ljava/lang/Object;"); + mv.visitMethodInsn(INVOKEVIRTUAL, type.getInternalName(), "clone", "()Ljava/lang/Object;", false); mv.visitTypeInsn(CHECKCAST, type.getInternalName()); mv.visitInsn(ARETURN); FunctionCodegen.endVisit(mv, "values()", myClass); @@ -984,7 +984,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { mv.visitCode(); mv.visitLdcInsn(classAsmType); mv.visitVarInsn(ALOAD, 0); - mv.visitMethodInsn(INVOKESTATIC, "java/lang/Enum", "valueOf", "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;"); + mv.visitMethodInsn(INVOKESTATIC, "java/lang/Enum", "valueOf", "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;", false); mv.visitTypeInsn(CHECKCAST, classAsmType.getInternalName()); mv.visitInsn(ARETURN); FunctionCodegen.endVisit(mv, "valueOf()", myClass); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineAdapter.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineAdapter.java index 7705f47196f..3db5e0e3cb6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineAdapter.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineAdapter.java @@ -35,7 +35,7 @@ public class InlineAdapter extends InstructionAdapter { private int nextLocalIndexBeforeInline = -1; public InlineAdapter(MethodVisitor mv, int localsSize) { - super(mv); + super(InlineCodegenUtil.API, mv); nextLocalIndex = localsSize; } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java index a0fd5052ac8..5a5c5686cc0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java @@ -20,13 +20,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.org.objectweb.asm.MethodVisitor; -import org.jetbrains.org.objectweb.asm.Opcodes; -import org.jetbrains.org.objectweb.asm.Type; -import org.jetbrains.org.objectweb.asm.commons.Method; -import org.jetbrains.org.objectweb.asm.tree.MethodNode; -import org.jetbrains.org.objectweb.asm.util.Textifier; -import org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor; import org.jetbrains.jet.codegen.*; import org.jetbrains.jet.codegen.context.CodegenContext; import org.jetbrains.jet.codegen.context.MethodContext; @@ -48,6 +41,13 @@ import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; import org.jetbrains.jet.lang.types.lang.InlineStrategy; import org.jetbrains.jet.lang.types.lang.InlineUtil; import org.jetbrains.jet.renderer.DescriptorRenderer; +import org.jetbrains.org.objectweb.asm.MethodVisitor; +import org.jetbrains.org.objectweb.asm.Opcodes; +import org.jetbrains.org.objectweb.asm.Type; +import org.jetbrains.org.objectweb.asm.commons.Method; +import org.jetbrains.org.objectweb.asm.tree.MethodNode; +import org.jetbrains.org.objectweb.asm.util.Textifier; +import org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor; import java.io.IOException; import java.io.PrintWriter; @@ -176,7 +176,7 @@ public class InlineCodegen implements ParentCodegenAware, CallGenerator { JvmMethodSignature jvmSignature = typeMapper.mapSignature(functionDescriptor, context.getContextKind()); Method asmMethod = jvmSignature.getAsmMethod(); - node = new MethodNode(Opcodes.ASM4, + node = new MethodNode(InlineCodegenUtil.API, getMethodAsmFlags(functionDescriptor, context.getContextKind()), asmMethod.getName(), asmMethod.getDescriptor(), @@ -236,7 +236,7 @@ public class InlineCodegen implements ParentCodegenAware, CallGenerator { JvmMethodSignature jvmMethodSignature = typeMapper.mapSignature(descriptor); Method asmMethod = jvmMethodSignature.getAsmMethod(); - MethodNode methodNode = new MethodNode(Opcodes.ASM4, getMethodAsmFlags(descriptor, context.getContextKind()), asmMethod.getName(), asmMethod.getDescriptor(), jvmMethodSignature.getGenericsSignature(), null); + MethodNode methodNode = new MethodNode(InlineCodegenUtil.API, getMethodAsmFlags(descriptor, context.getContextKind()), asmMethod.getName(), asmMethod.getDescriptor(), jvmMethodSignature.getGenericsSignature(), null); MethodVisitor adapter = InlineCodegenUtil.wrapWithMaxLocalCalc(methodNode); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java index fe65b0d7111..cb0111156cf 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegenUtil.java @@ -53,7 +53,7 @@ import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isTrait; public class InlineCodegenUtil { - public final static int API = Opcodes.ASM4; + public final static int API = Opcodes.ASM5; public final static String INVOKE = "invoke"; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/LambdaTransformer.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/LambdaTransformer.java index f84acde072e..869969100f9 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/LambdaTransformer.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/LambdaTransformer.java @@ -20,21 +20,20 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.jet.OutputFile; +import org.jetbrains.jet.codegen.*; +import org.jetbrains.jet.codegen.state.GenerationState; +import org.jetbrains.jet.codegen.state.JetTypeMapper; import org.jetbrains.org.objectweb.asm.*; import org.jetbrains.org.objectweb.asm.commons.Method; import org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode; import org.jetbrains.org.objectweb.asm.tree.FieldInsnNode; import org.jetbrains.org.objectweb.asm.tree.MethodNode; import org.jetbrains.org.objectweb.asm.tree.VarInsnNode; -import org.jetbrains.jet.OutputFile; -import org.jetbrains.jet.codegen.*; -import org.jetbrains.jet.codegen.state.GenerationState; -import org.jetbrains.jet.codegen.state.JetTypeMapper; import java.io.IOException; import java.util.*; -import static org.jetbrains.org.objectweb.asm.Opcodes.ASM4; import static org.jetbrains.org.objectweb.asm.Opcodes.V1_6; public class LambdaTransformer { @@ -139,13 +138,13 @@ public class LambdaTransformer { if (bridge != null) { MethodVisitor invokeBridge = newMethod(classBuilder, bridge); - bridge.accept(new MethodVisitor(ASM4, invokeBridge) { + bridge.accept(new MethodVisitor(InlineCodegenUtil.API, invokeBridge) { @Override - public void visitMethodInsn(int opcode, String owner, String name, String desc) { + public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { if (owner.equals(oldLambdaType.getInternalName())) { - super.visitMethodInsn(opcode, newLambdaType.getInternalName(), name, desc); + super.visitMethodInsn(opcode, newLambdaType.getInternalName(), name, desc, itf); } else { - super.visitMethodInsn(opcode, owner, name, desc); + super.visitMethodInsn(opcode, owner, name, desc, itf); } } }); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/MaxCalcNode.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/MaxCalcNode.java index b2e34278020..999787c4712 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/MaxCalcNode.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/MaxCalcNode.java @@ -31,7 +31,7 @@ public class MaxCalcNode extends MethodVisitor { private final MethodNode node; public MaxCalcNode(MethodNode node) { - super(Opcodes.ASM4, node); + super(InlineCodegenUtil.API, node); this.node = node; int paramsSize = (node.access & Opcodes.ACC_STATIC) == 0 ? 1 : 0; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/MethodInliner.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/MethodInliner.java index 2fe76c42a9d..a70e981b9b0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/MethodInliner.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/MethodInliner.java @@ -144,7 +144,7 @@ public class MethodInliner { } @Override - public void visitMethodInsn(int opcode, String owner, String name, String desc) { + public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { if (/*INLINE_RUNTIME.equals(owner) &&*/ isInvokeOnLambda(owner, name)) { //TODO add method assert !currentInvokes.isEmpty(); InvokeCall invokeCall = currentInvokes.remove(); @@ -152,7 +152,7 @@ public class MethodInliner { if (info == null) { //noninlinable lambda - super.visitMethodInsn(opcode, owner, name, desc); + super.visitMethodInsn(opcode, owner, name, desc, itf); return; } @@ -187,14 +187,14 @@ public class MethodInliner { for (CapturedParamInfo capturedParamInfo : invocation.getAllRecapturedParameters()) { visitFieldInsn(Opcodes.GETSTATIC, capturedParamInfo.getContainingLambdaName(), "$$$" + capturedParamInfo.getOriginalFieldName(), capturedParamInfo.getType().getDescriptor()); } - super.visitMethodInsn(opcode, invocation.getNewLambdaType().getInternalName(), name, invocation.getNewConstructorDescriptor()); + super.visitMethodInsn(opcode, invocation.getNewLambdaType().getInternalName(), name, invocation.getNewConstructorDescriptor(), itf); invocation = null; } else { - super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc); + super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc, itf); } } else { - super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc); + super.visitMethodInsn(opcode, changeOwnerForExternalPackage(owner, opcode), name, desc, itf); } } @@ -227,7 +227,7 @@ public class MethodInliner { Type[] allTypes = ArrayUtil.mergeArrays(types, capturedTypes.toArray(new Type[capturedTypes.size()])); node.instructions.resetLabels(); - MethodNode transformedNode = new MethodNode(node.access, node.name, Type.getMethodDescriptor(returnType, allTypes), node.signature, null) { + MethodNode transformedNode = new MethodNode(InlineCodegenUtil.API, node.access, node.name, Type.getMethodDescriptor(returnType, allTypes), node.signature, null) { private final boolean isInliningLambda = nodeRemapper.isInsideInliningLambda(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java index de882cfda39..1b0dd50ca12 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java @@ -41,7 +41,7 @@ public class HashCode extends IntrinsicMethod { StackValue receiver ) { receiver.put(AsmTypeConstants.OBJECT_TYPE, v); - v.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Object", "hashCode", "()I"); + v.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Object", "hashCode", "()I", false); return Type.INT_TYPE; } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClass.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClass.java index 827f850b60c..7b1ae25e81e 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClass.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/kotlin/VirtualFileKotlinClass.java @@ -22,18 +22,18 @@ import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.org.objectweb.asm.ClassReader; -import org.jetbrains.org.objectweb.asm.ClassVisitor; -import org.jetbrains.org.objectweb.asm.FieldVisitor; -import org.jetbrains.org.objectweb.asm.MethodVisitor; import org.jetbrains.jet.lang.resolve.java.JvmClassName; import org.jetbrains.jet.lang.resolve.kotlin.header.KotlinClassHeader; import org.jetbrains.jet.lang.resolve.kotlin.header.ReadKotlinClassHeaderAnnotationVisitor; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.utils.UtilsPackage; +import org.jetbrains.org.objectweb.asm.ClassReader; +import org.jetbrains.org.objectweb.asm.ClassVisitor; +import org.jetbrains.org.objectweb.asm.FieldVisitor; +import org.jetbrains.org.objectweb.asm.MethodVisitor; import static org.jetbrains.org.objectweb.asm.ClassReader.*; -import static org.jetbrains.org.objectweb.asm.Opcodes.ASM4; +import static org.jetbrains.org.objectweb.asm.Opcodes.ASM5; public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { private final static Logger LOG = Logger.getInstance(VirtualFileKotlinClass.class); @@ -52,7 +52,7 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { private static Pair readClassNameAndHeader(@NotNull byte[] fileContents) { final ReadKotlinClassHeaderAnnotationVisitor readHeaderVisitor = new ReadKotlinClassHeaderAnnotationVisitor(); final Ref classNameRef = Ref.create(); - new ClassReader(fileContents).accept(new ClassVisitor(ASM4) { + new ClassReader(fileContents).accept(new ClassVisitor(ASM5) { @Override public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { classNameRef.set(JvmClassName.byInternalName(name)); @@ -121,7 +121,7 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { @Override public void loadClassAnnotations(@NotNull final AnnotationVisitor annotationVisitor) { try { - new ClassReader(file.contentsToByteArray()).accept(new ClassVisitor(ASM4) { + new ClassReader(file.contentsToByteArray()).accept(new ClassVisitor(ASM5) { @Override public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitAnnotation(String desc, boolean visible) { return convertAnnotationVisitor(annotationVisitor, desc); @@ -147,7 +147,7 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { @NotNull private static org.jetbrains.org.objectweb.asm.AnnotationVisitor convertAnnotationVisitor(@NotNull final AnnotationArgumentVisitor v) { - return new org.jetbrains.org.objectweb.asm.AnnotationVisitor(ASM4) { + return new org.jetbrains.org.objectweb.asm.AnnotationVisitor(ASM5) { @Override public void visit(String name, Object value) { v.visit(name == null ? null : Name.identifier(name), value); @@ -174,13 +174,13 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { @Override public void visitMembers(@NotNull final MemberVisitor memberVisitor) { try { - new ClassReader(file.contentsToByteArray()).accept(new ClassVisitor(ASM4) { + new ClassReader(file.contentsToByteArray()).accept(new ClassVisitor(ASM5) { @Override public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { final AnnotationVisitor v = memberVisitor.visitField(Name.guess(name), desc, value); if (v == null) return null; - return new FieldVisitor(ASM4) { + return new FieldVisitor(ASM5) { @Override public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitAnnotation(String desc, boolean visible) { return convertAnnotationVisitor(v, desc); @@ -198,7 +198,7 @@ public class VirtualFileKotlinClass implements KotlinJvmBinaryClass { final MethodAnnotationVisitor v = memberVisitor.visitMethod(Name.guess(name), desc); if (v == null) return null; - return new MethodVisitor(ASM4) { + return new MethodVisitor(ASM5) { @Override public org.jetbrains.org.objectweb.asm.AnnotationVisitor visitAnnotation(String desc, boolean visible) { return convertAnnotationVisitor(v, desc); diff --git a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java index 7865db4d7d8..b295b852057 100644 --- a/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java +++ b/compiler/preloader/instrumentation/src/org/jetbrains/jet/preloading/instrumentation/InterceptionInstrumenter.java @@ -275,7 +275,7 @@ public class InterceptionInstrumenter { private byte[] instrument(byte[] classData, final List instrumenters) { final ClassReader cr = new ClassReader(classData); ClassWriter cw = new ClassWriter(cr, 0); - cr.accept(new ClassVisitor(ASM4, cw) { + cr.accept(new ClassVisitor(ASM5, cw) { private final Map matchedMethods = new HashMap(); @Override @@ -326,7 +326,7 @@ public class InterceptionInstrumenter { final int maxStackDepth = getMaxStackDepth(name, desc, normalReturnData, enterData, exceptionData); final boolean isConstructor = "".equals(name); - return new MethodVisitor(ASM4, mv) { + return new MethodVisitor(ASM5, mv) { private InstructionAdapter ia = null; diff --git a/compiler/tests/org/jetbrains/jet/codegen/AbstractCheckLocalVariablesTableTest.java b/compiler/tests/org/jetbrains/jet/codegen/AbstractCheckLocalVariablesTableTest.java index 2b281459837..850e57f6a8b 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/AbstractCheckLocalVariablesTableTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/AbstractCheckLocalVariablesTableTest.java @@ -181,13 +181,13 @@ public abstract class AbstractCheckLocalVariablesTableTest extends TestCaseWithT List readVariables = new ArrayList(); public Visitor() { - super(Opcodes.ASM4); + super(Opcodes.ASM5); } @Override public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { if (methodName.equals(name + desc)) { - return new MethodVisitor(Opcodes.ASM4) { + return new MethodVisitor(Opcodes.ASM5) { @Override public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) { readVariables.add(new LocalVariable(name, desc, index)); diff --git a/compiler/tests/org/jetbrains/jet/codegen/GenerateNotNullAssertionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/GenerateNotNullAssertionsTest.java index f19b8a17359..6f801f008a1 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/GenerateNotNullAssertionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/GenerateNotNullAssertionsTest.java @@ -164,14 +164,14 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase { assertNotNull(file); ClassReader reader = new ClassReader(file.asByteArray()); - reader.accept(new ClassVisitor(Opcodes.ASM4) { + reader.accept(new ClassVisitor(Opcodes.ASM5) { @Override public MethodVisitor visitMethod( int access, final String callerName, final String callerDesc, String signature, String[] exceptions ) { - return new MethodVisitor(Opcodes.ASM4) { + return new MethodVisitor(Opcodes.ASM5) { @Override - public void visitMethodInsn(int opcode, String owner, String name, String desc) { + public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) { assertFalse( "Intrinsics method is called: " + name + desc + " Caller: " + callerName + callerDesc, "kotlin/jvm/internal/Intrinsics".equals(owner) diff --git a/compiler/tests/org/jetbrains/jet/codegen/InnerClassInfoGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/InnerClassInfoGenTest.java index 302159e7f1b..0385acbd737 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/InnerClassInfoGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/InnerClassInfoGenTest.java @@ -97,7 +97,7 @@ public class InnerClassInfoGenTest extends CodegenTestCase { ClassReader reader = new ClassReader(bytes); final List result = new ArrayList(); - reader.accept(new ClassVisitor(ASM4) { + reader.accept(new ClassVisitor(ASM5) { @Override public void visitInnerClass(String name, String outerName, String innerName, int access) { result.add(new InnerClassAttribute(name, outerName, innerName, access)); diff --git a/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java b/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java index d6a337dedaa..9a352703e34 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/LineNumberTest.java @@ -175,14 +175,14 @@ public class LineNumberTest extends TestCaseWithTmpdir { final List