Debugger: Fix breakpoint firing in '$suspendImpl' (KT-27645)

This commit is contained in:
Yan Zhulanow
2019-08-01 21:18:16 +09:00
parent 9096d211d3
commit 0a092d6613
9 changed files with 208 additions and 129 deletions
@@ -6,7 +6,6 @@
package org.jetbrains.kotlin.idea.fir
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.cfg.pseudocode.containingDeclarationForPseudocode
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.FirReference
import org.jetbrains.kotlin.fir.declarations.*
@@ -24,6 +23,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
import org.jetbrains.kotlin.util.containingNonLocalDeclaration
private val FirResolvePhase.stubMode: Boolean
get() = this <= FirResolvePhase.DECLARATIONS
@@ -145,14 +145,6 @@ private fun FirDeclaration.runResolve(
}
}
private fun KtElement.containingNonLocalDeclaration(): KtDeclaration? {
var container = this.containingDeclarationForPseudocode
while (container != null && KtPsiUtil.isLocal(container)) {
container = container.containingDeclarationForPseudocode
}
return container
}
fun KtElement.getOrBuildFir(
state: FirResolveState,
phase: FirResolvePhase = FirResolvePhase.BODY_RESOLVE