Do not trim getType from com.intellij.lang.jvm.JvmParameter

Since K2 KAPT uses this API, absence of class bodies in classes
from the package leads to java.lang.NoSuchMethodError

 #KT-61879 Fixed
This commit is contained in:
Ilmir Usmanov
2023-09-18 21:52:09 +02:00
committed by Space Team
parent 28fabf06fc
commit e5aa737eaf
2 changed files with 16 additions and 1 deletions
@@ -6,7 +6,7 @@
package org.jetbrains.kotlin.gradle
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.testbase.TestProject
import org.jetbrains.kotlin.gradle.testbase.*
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.DisplayName
import kotlin.io.path.appendText
@@ -39,6 +39,18 @@ class Kapt4IT : Kapt3IT() {
@Disabled("Doesn't make sense in Kapt 4")
override fun testRepeatableAnnotationsWithOldJvmBackend(gradleVersion: GradleVersion) {}
@DisplayName("KT-61879: K2 KAPT works with proguarded compiler jars and enum class")
@GradleTest
fun testEnumClass(gradleVersion: GradleVersion) {
project("simple".withPrefix, gradleVersion) {
javaSourcesDir().resolve("test.kt").appendText("\nenum class TestEnum")
build("build") {
assertKaptSuccessful()
assertFileExists(kotlinClassesDir().resolve("example/TestEnum.class"))
}
}
}
}
@DisplayName("Kapt 4 with classloaders cache")
+3
View File
@@ -319,3 +319,6 @@
kotlinx.collections.immutable.PersistentMap toPersistentHashMap(java.util.Map);
kotlinx.collections.immutable.PersistentSet persistentHashSetOf(java.lang.Object[]);
}
-keepclassmembers class com.intellij.lang.jvm.JvmParameter {
com.intellij.lang.jvm.types.JvmType getType();
}