Skip to content

Commit 1b54d75

Browse files
committed
Fix NoClassDefFoundError in Kotlin projects #1793 (#1840)
Add builtin Kotlin methods as util methods
1 parent 0714477 commit 1b54d75

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package org.utbot.intellij.plugin.util
2+
3+
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
4+
import org.jetbrains.kotlin.psi.KtCallableDeclaration
5+
import org.jetbrains.kotlin.psi.KtParameter
6+
import org.jetbrains.kotlin.psi.KtProperty
7+
8+
9+
/*
10+
* TODO: Remove the following methods after Kotlin version transition from [1.7.20].
11+
* See [https://github.com/UnitTestBot/UTBotJava/issues/1793].
12+
*/
13+
val KtLightMethod.isGetter: Boolean
14+
get() = isAccessor(true)
15+
16+
val KtLightMethod.isSetter: Boolean
17+
get() = isAccessor(false)
18+
19+
private fun KtLightMethod.isAccessor(getter: Boolean): Boolean {
20+
val origin = kotlinOrigin as? KtCallableDeclaration ?: return false
21+
if (origin !is KtProperty && origin !is KtParameter) return false
22+
val expectedParametersCount = (if (getter) 0 else 1) + (if (origin.receiverTypeReference != null) 1 else 0)
23+
return parameterList.parametersCount == expectedParametersCount
24+
}

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PsiClassHelper.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import com.intellij.refactoring.util.classMembers.MemberInfo
99
import com.intellij.testIntegration.TestIntegrationUtils
1010
import org.jetbrains.kotlin.asJava.elements.KtLightMember
1111
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
12-
import org.jetbrains.kotlin.asJava.elements.isGetter
13-
import org.jetbrains.kotlin.asJava.elements.isSetter
1412
import org.jetbrains.kotlin.psi.KtClass
1513
import org.utbot.common.filterWhen
1614
import org.utbot.framework.UtSettings

0 commit comments

Comments
 (0)