Add a number of runReadAction() in debugger (EA-120985)

This commit is contained in:
Yan Zhulanow
2018-07-02 15:07:29 +03:00
parent 115356b990
commit cf3550b139
4 changed files with 4 additions and 4 deletions
@@ -81,7 +81,7 @@ class DebuggerClassNameProvider(
* Returns classes in which the given line number *is* present.
*/
fun getClassesForPosition(position: SourcePosition): List<ReferenceType> = with (debugProcess) {
val lineNumber = position.line
val lineNumber = runReadAction { position.line }
return doGetClassesForPosition(position)
.flatMap { className -> virtualMachineProxy.classesByName(className) }
@@ -43,7 +43,7 @@ import java.util.*
class KotlinFrameExtraVariablesProvider : FrameExtraVariablesProvider {
override fun isAvailable(sourcePosition: SourcePosition, evalContext: EvaluationContext): Boolean {
if (sourcePosition.line < 0) return false
if (runReadAction { sourcePosition.line } < 0) return false
return sourcePosition.file.fileType == KotlinFileType.INSTANCE && DebuggerSettings.getInstance().AUTO_VARIABLES_MODE
}
@@ -304,7 +304,7 @@ class KotlinPositionManager(private val myDebugProcess: DebugProcess) : MultiReq
if (psiFile is ClsFileImpl) {
val decompiledPsiFile = psiFile.readAction { it.decompiledPsiFile }
if (decompiledPsiFile is KtClsFile && sourcePosition.line == -1) {
if (decompiledPsiFile is KtClsFile && runReadAction { sourcePosition.line } == -1) {
val className = JvmFileClassUtil.getFileClassInternalName(decompiledPsiFile)
return myDebugProcess.virtualMachineProxy.classesByName(className)
}
@@ -181,7 +181,7 @@ class KotlinEvaluator(val codeFragment: KtCodeFragment, val sourcePosition: Sour
val text = runReadAction { codeFragment.context?.text ?: "null" }
val attachments = arrayOf(attachmentByPsiFile(sourcePosition.file),
attachmentByPsiFile(codeFragment),
Attachment("breakpoint.info", "line: ${sourcePosition.line}"),
Attachment("breakpoint.info", "line: ${runReadAction { sourcePosition.line }}"),
Attachment("context.info", text))
LOG.error(LogMessageEx.createEvent(