User: kyle wood Date: 15 Aug 22 23:07 Revision: 6f8cb6a3ab2a957942b5900012d74a6f391ec4bf Summary: Remove edt coroutine scope, apparently that's bad TeamCity URL: https://ci.mcdev.io/viewModification.html?tab=vcsModificationFiles&modId=8072&personal=false Index: src/main/kotlin/util/utils.kt =================================================================== --- src/main/kotlin/util/utils.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) +++ src/main/kotlin/util/utils.kt (revision 6f8cb6a3ab2a957942b5900012d74a6f391ec4bf) @@ -16,7 +16,6 @@ import com.intellij.openapi.application.AppUIExecutor import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.ModalityState -import com.intellij.openapi.application.impl.coroutineDispatchingContext import com.intellij.openapi.application.runReadAction import com.intellij.openapi.command.WriteCommandAction import com.intellij.openapi.module.Module @@ -34,8 +33,7 @@ import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiFile import java.util.Locale -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.runBlocking +import kotlin.math.min inline fun runWriteTask(crossinline func: () -> T): T { return invokeAndWait { @@ -93,8 +91,8 @@ ApplicationManager.getApplication().invokeLater(func, ModalityState.any()) } -fun edtCoroutineScope(block: suspend CoroutineScope.() -> T): T { - return runBlocking(AppUIExecutor.onUiThread().coroutineDispatchingContext(), block) +fun invokeEdt(block: () -> T): T { + return AppUIExecutor.onUiThread().submit(block).get() } inline fun PsiFile.runWriteAction(crossinline func: () -> T) = @@ -132,7 +130,7 @@ } inline fun ?> T.ifNullOrEmpty(func: () -> Unit): T { - if (this == null || isEmpty()) { + if (isNullOrEmpty()) { func() } return this @@ -261,7 +259,7 @@ return 100_000 + bonus // lowercase exact match } - val distance = Math.min(lowerCaseThis.length, lowerCaseText.length) + val distance = min(lowerCaseThis.length, lowerCaseText.length) for (i in 0 until distance) { if (lowerCaseThis[i] != lowerCaseText[i]) { return i + bonus Index: src/test/kotlin/framework/EdtInterceptor.kt =================================================================== --- src/test/kotlin/framework/EdtInterceptor.kt (revision cb04100074d5e24e89345cd1577c5f7fc0eccc01) +++ src/test/kotlin/framework/EdtInterceptor.kt (revision 6f8cb6a3ab2a957942b5900012d74a6f391ec4bf) @@ -10,7 +10,7 @@ package com.demonwav.mcdev.framework -import com.demonwav.mcdev.util.edtCoroutineScope +import com.demonwav.mcdev.util.invokeEdt import java.lang.reflect.Method import org.junit.jupiter.api.extension.ExtensionContext import org.junit.jupiter.api.extension.InvocationInterceptor @@ -50,7 +50,7 @@ return } - val thrown = edtCoroutineScope { + val thrown = invokeEdt { runCatching { invocation.proceed() }.exceptionOrNull()