Switch kotlinp to ASM7 Jetbrains ASM

This commit is contained in:
Mikhael Bogdanov
2018-12-19 10:16:39 +01:00
parent f5ff3d2fa9
commit 2072d7806f
2 changed files with 12 additions and 6 deletions
+8 -2
View File
@@ -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 {
@@ -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<String>) -> Unit): AnnotationVisitor {
return object : AnnotationVisitor(Opcodes.ASM4) {
return object : AnnotationVisitor(Opcodes.ASM7) {
val strings = mutableListOf<String>()
override fun visit(name: String?, value: Any?) {