diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java index 252628edd459..1ed050b5f4e9 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java @@ -48,6 +48,7 @@ import com.intellij.xdebugger.impl.breakpoints.XExpressionState; import com.sun.jdi.Value; import com.sun.jdi.connect.spi.TransportService; import org.jdom.Element; +import org.jetbrains.annotations.NotNull; import java.io.IOException; @@ -139,6 +140,7 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{ return PositionUtil.getContextElement(context); } + @NotNull public static Pair getPsiClassAndType(String className, Project project) { PsiClass contextClass; PsiType contextType; diff --git a/java/debugger/impl/src/com/intellij/debugger/settings/CompoundRendererConfigurable.java b/java/debugger/impl/src/com/intellij/debugger/settings/CompoundRendererConfigurable.java index 77eed3f19b50..253f62e75797 100644 --- a/java/debugger/impl/src/com/intellij/debugger/settings/CompoundRendererConfigurable.java +++ b/java/debugger/impl/src/com/intellij/debugger/settings/CompoundRendererConfigurable.java @@ -22,15 +22,18 @@ import com.intellij.debugger.engine.evaluation.CodeFragmentKind; import com.intellij.debugger.engine.evaluation.TextWithImports; import com.intellij.debugger.engine.evaluation.TextWithImportsImpl; import com.intellij.debugger.impl.DebuggerUtilsEx; +import com.intellij.debugger.impl.DebuggerUtilsImpl; import com.intellij.debugger.ui.JavaDebuggerSupport; import com.intellij.debugger.ui.tree.render.*; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; -import com.intellij.psi.*; +import com.intellij.psi.JavaCodeFragment; +import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiDocumentManager; +import com.intellij.psi.PsiType; import com.intellij.psi.impl.source.PsiTypeCodeFragmentImpl; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.ui.*; import com.intellij.ui.components.JBCheckBox; import com.intellij.ui.table.JBTable; @@ -205,15 +208,16 @@ class CompoundRendererConfigurable extends JPanel { private void updateContext(final String qName) { ApplicationManager.getApplication().runReadAction(() -> { Project project = myProject; - PsiClass psiClass = project != null ? DebuggerUtils.findClass(qName, project, GlobalSearchScope.allScope(project)) : null; - if (psiClass != null) { - psiClass = (PsiClass)psiClass.getNavigationElement(); + if (project != null) { + Pair pair = DebuggerUtilsImpl.getPsiClassAndType(qName, project); + if (pair.first != null) { + XSourcePositionImpl position = XSourcePositionImpl.createByElement(pair.first); + myLabelEditor.setSourcePosition(position); + myChildrenEditor.setSourcePosition(position); + myChildrenExpandedEditor.setSourcePosition(position); + myListChildrenEditor.setSourcePosition(position); + } } - XSourcePositionImpl position = XSourcePositionImpl.createByElement(psiClass); - myLabelEditor.setSourcePosition(position); - myChildrenEditor.setSourcePosition(position); - myChildrenExpandedEditor.setSourcePosition(position); - myListChildrenEditor.setSourcePosition(position); }); }