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") kotlin("jvm")
} }
val kotlinpAsmVersion = "7.0"
val shadows by configurations.creating val shadows by configurations.creating
repositories {
maven("https://jetbrains.bintray.com/intellij-third-party-dependencies/")
}
dependencies { dependencies {
compileOnly(project(":kotlinx-metadata")) compileOnly(project(":kotlinx-metadata"))
compileOnly(project(":kotlinx-metadata-jvm")) 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"))
testCompileOnly(project(":kotlinx-metadata-jvm")) testCompileOnly(project(":kotlinx-metadata-jvm"))
@@ -22,7 +28,7 @@ dependencies {
testRuntime(project(":kotlinx-metadata-jvm", configuration = "runtime")) testRuntime(project(":kotlinx-metadata-jvm", configuration = "runtime"))
shadows(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 { sourceSets {
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.kotlinp package org.jetbrains.kotlin.kotlinp
import kotlinx.metadata.jvm.KotlinClassHeader import kotlinx.metadata.jvm.KotlinClassHeader
import org.objectweb.asm.* import org.jetbrains.org.objectweb.asm.*
import java.io.File import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
@@ -15,7 +15,7 @@ internal fun File.readKotlinClassHeader(): KotlinClassHeader? {
try { try {
val metadataDesc = Type.getDescriptor(Metadata::class.java) 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? = override fun visitAnnotation(desc: String, visible: Boolean): AnnotationVisitor? =
if (desc == metadataDesc) readMetadataVisitor { header = it } if (desc == metadataDesc) readMetadataVisitor { header = it }
else null else null
@@ -28,7 +28,7 @@ internal fun File.readKotlinClassHeader(): KotlinClassHeader? {
} }
private fun readMetadataVisitor(output: (KotlinClassHeader) -> Unit): AnnotationVisitor = private fun readMetadataVisitor(output: (KotlinClassHeader) -> Unit): AnnotationVisitor =
object : AnnotationVisitor(Opcodes.ASM4) { object : AnnotationVisitor(Opcodes.ASM7) {
var kind: Int? = null var kind: Int? = null
var metadataVersion: IntArray? = null var metadataVersion: IntArray? = null
var bytecodeVersion: 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 { private fun stringArrayVisitor(output: (Array<String>) -> Unit): AnnotationVisitor {
return object : AnnotationVisitor(Opcodes.ASM4) { return object : AnnotationVisitor(Opcodes.ASM7) {
val strings = mutableListOf<String>() val strings = mutableListOf<String>()
override fun visit(name: String?, value: Any?) { override fun visit(name: String?, value: Any?) {