From 2072d7806fb2af6cc00cdc45ccca79de7ebd4270 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Wed, 19 Dec 2018 10:16:39 +0100 Subject: [PATCH] Switch kotlinp to ASM7 Jetbrains ASM --- libraries/tools/kotlinp/build.gradle.kts | 10 ++++++++-- .../jetbrains/kotlin/kotlinp/readKotlinClassHeader.kt | 8 ++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlinp/build.gradle.kts b/libraries/tools/kotlinp/build.gradle.kts index 9eb8afac802..59b0770053a 100644 --- a/libraries/tools/kotlinp/build.gradle.kts +++ b/libraries/tools/kotlinp/build.gradle.kts @@ -7,12 +7,18 @@ plugins { kotlin("jvm") } +val kotlinpAsmVersion = "7.0" + val shadows by configurations.creating +repositories { + maven("https://jetbrains.bintray.com/intellij-third-party-dependencies/") +} + dependencies { compileOnly(project(":kotlinx-metadata")) compileOnly(project(":kotlinx-metadata-jvm")) - compile("org.ow2.asm:asm:6.0") + compile("org.jetbrains.intellij.deps:asm-all:$kotlinpAsmVersion") testCompileOnly(project(":kotlinx-metadata")) testCompileOnly(project(":kotlinx-metadata-jvm")) @@ -22,7 +28,7 @@ dependencies { testRuntime(project(":kotlinx-metadata-jvm", configuration = "runtime")) shadows(project(":kotlinx-metadata-jvm", configuration = "runtime")) - shadows("org.ow2.asm:asm:6.0") + shadows("org.jetbrains.intellij.deps:asm-all:$kotlinpAsmVersion") } sourceSets { diff --git a/libraries/tools/kotlinp/src/org/jetbrains/kotlin/kotlinp/readKotlinClassHeader.kt b/libraries/tools/kotlinp/src/org/jetbrains/kotlin/kotlinp/readKotlinClassHeader.kt index 653c01dee4e..58091b4e0b6 100644 --- a/libraries/tools/kotlinp/src/org/jetbrains/kotlin/kotlinp/readKotlinClassHeader.kt +++ b/libraries/tools/kotlinp/src/org/jetbrains/kotlin/kotlinp/readKotlinClassHeader.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.kotlinp import kotlinx.metadata.jvm.KotlinClassHeader -import org.objectweb.asm.* +import org.jetbrains.org.objectweb.asm.* import java.io.File import java.io.FileInputStream @@ -15,7 +15,7 @@ internal fun File.readKotlinClassHeader(): KotlinClassHeader? { try { val metadataDesc = Type.getDescriptor(Metadata::class.java) - ClassReader(FileInputStream(this)).accept(object : ClassVisitor(Opcodes.ASM4) { + ClassReader(FileInputStream(this)).accept(object : ClassVisitor(Opcodes.API_VERSION) { override fun visitAnnotation(desc: String, visible: Boolean): AnnotationVisitor? = if (desc == metadataDesc) readMetadataVisitor { header = it } else null @@ -28,7 +28,7 @@ internal fun File.readKotlinClassHeader(): KotlinClassHeader? { } private fun readMetadataVisitor(output: (KotlinClassHeader) -> Unit): AnnotationVisitor = - object : AnnotationVisitor(Opcodes.ASM4) { + object : AnnotationVisitor(Opcodes.ASM7) { var kind: Int? = null var metadataVersion: IntArray? = null var bytecodeVersion: IntArray? = null @@ -57,7 +57,7 @@ private fun readMetadataVisitor(output: (KotlinClassHeader) -> Unit): Annotation } private fun stringArrayVisitor(output: (Array) -> Unit): AnnotationVisitor { - return object : AnnotationVisitor(Opcodes.ASM4) { + return object : AnnotationVisitor(Opcodes.ASM7) { val strings = mutableListOf() override fun visit(name: String?, value: Any?) {