From fc41bc48619d1585f1d0c53110c03b29a258ccd3 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Thu, 11 Aug 2016 12:06:42 +0300 Subject: [PATCH] correctly resolve this type in user expressions --- .../ui/impl/watch/UserExpressionDescriptorImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/UserExpressionDescriptorImpl.java b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/UserExpressionDescriptorImpl.java index 4cdb09d9d6ea..9b9e4caa1b85 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/UserExpressionDescriptorImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/impl/watch/UserExpressionDescriptorImpl.java @@ -31,6 +31,7 @@ import com.intellij.debugger.ui.tree.UserExpressionDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.psi.JavaCodeFragment; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiCodeFragment; import com.intellij.psi.PsiType; @@ -72,7 +73,11 @@ public class UserExpressionDescriptorImpl extends EvaluationDescriptor implement if (psiClassAndType.first == null) { throw EvaluateExceptionUtil.createEvaluateException(DebuggerBundle.message("evaluation.error.invalid.type.name", myTypeName)); } - return createCodeFragment(psiClassAndType.first); + PsiCodeFragment fragment = createCodeFragment(psiClassAndType.first); + if (fragment instanceof JavaCodeFragment) { + ((JavaCodeFragment)fragment).setThisType(psiClassAndType.second); + } + return fragment; } public ValueDescriptorImpl getParentDescriptor() {