Debugger: Fix property accessor evaluation in scripts (KT-23526)
This commit is contained in:
+3
-1
@@ -41,6 +41,7 @@ import org.jetbrains.kotlin.load.java.JvmAbi
|
|||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.isObjectLiteral
|
import org.jetbrains.kotlin.psi.psiUtil.isObjectLiteral
|
||||||
|
import org.jetbrains.kotlin.psi.psiUtil.isTopLevelInFileOrScript
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
import org.jetbrains.kotlin.resolve.inline.InlineUtil
|
import org.jetbrains.kotlin.resolve.inline.InlineUtil
|
||||||
import org.jetbrains.org.objectweb.asm.Type
|
import org.jetbrains.org.objectweb.asm.Type
|
||||||
@@ -53,6 +54,7 @@ class DebuggerClassNameProvider(
|
|||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
private val CLASS_ELEMENT_TYPES = arrayOf<Class<out PsiElement>>(
|
private val CLASS_ELEMENT_TYPES = arrayOf<Class<out PsiElement>>(
|
||||||
|
KtScript::class.java,
|
||||||
KtFile::class.java,
|
KtFile::class.java,
|
||||||
KtClassOrObject::class.java,
|
KtClassOrObject::class.java,
|
||||||
KtProperty::class.java,
|
KtProperty::class.java,
|
||||||
@@ -154,7 +156,7 @@ class DebuggerClassNameProvider(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
is KtProperty -> {
|
is KtProperty -> {
|
||||||
val nonInlineClasses = if (runReadAction { element.isTopLevel }) {
|
val nonInlineClasses = if (runReadAction { isTopLevelInFileOrScript(element) }) {
|
||||||
// Top level property
|
// Top level property
|
||||||
getOuterClassNamesForElement(element.relevantParentInReadAction)
|
getOuterClassNamesForElement(element.relevantParentInReadAction)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user