Skip to content

Commit 16036b9

Browse files
IndexNotReadyException thrown in IDEA with installed UnitTestBot plugin #273 (#586)
1 parent 15772d6 commit 16036b9

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/CodeGenerationController.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ object CodeGenerationController {
264264

265265
val classUnderTest = testSets.first().method.clazz
266266

267-
val params = findMethodParams(classUnderTest, selectedMethods)
267+
val params = DumbService.getInstance(model.project)
268+
.runReadActionInSmartMode(Computable { findMethodParams(classUnderTest, selectedMethods) })
268269

269270
val codeGenerator = CodeGenerator(
270271
classUnderTest = classUnderTest.java,

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/UtTestsDialogProcessor.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ import com.intellij.openapi.components.service
1212
import com.intellij.openapi.module.Module
1313
import com.intellij.openapi.progress.ProgressIndicator
1414
import com.intellij.openapi.progress.Task
15+
import com.intellij.openapi.project.DumbService
1516
import com.intellij.openapi.project.Project
1617
import com.intellij.openapi.roots.OrderEnumerator
1718
import com.intellij.openapi.ui.Messages
19+
import com.intellij.openapi.util.Computable
1820
import com.intellij.openapi.util.text.StringUtil
1921
import com.intellij.psi.PsiClass
2022
import com.intellij.psi.SyntheticElement
@@ -150,7 +152,9 @@ object UtTestsDialogProcessor {
150152
.filterWhen(UtSettings.skipTestGenerationForSyntheticMethods) {
151153
it.member !is SyntheticElement
152154
}
153-
findMethodsInClassMatchingSelected(clazz, srcMethods)
155+
DumbService.getInstance(project).runReadActionInSmartMode(Computable {
156+
findMethodsInClassMatchingSelected(clazz, srcMethods)
157+
})
154158
}.executeSynchronously()
155159

156160
val className = srcClass.name

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
package org.utbot.intellij.plugin.util
22

3+
import com.intellij.openapi.project.DumbService
4+
import com.intellij.openapi.project.Project
5+
import com.intellij.openapi.util.Computable
36
import com.intellij.psi.PsiMethod
47
import com.intellij.refactoring.util.classMembers.MemberInfo
58
import kotlin.reflect.KFunction
69
import kotlin.reflect.KParameter
710
import kotlin.reflect.jvm.javaType
811

912
fun MemberInfo.signature(): Signature =
10-
(this.member as PsiMethod).signature()
13+
(this.member as PsiMethod).signature()
1114

12-
fun PsiMethod.signature() =
15+
private fun PsiMethod.signature() =
1316
Signature(this.name, this.parameterList.parameters.map {
1417
it.type.canonicalText
1518
.replace("...", "[]") //for PsiEllipsisType

0 commit comments

Comments
 (0)