diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PsiFieldNode.java b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PsiFieldNode.java index 0869542cf5a9..9416da6ebce5 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PsiFieldNode.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/nodes/PsiFieldNode.java @@ -18,7 +18,9 @@ package com.intellij.ide.projectView.impl.nodes; import com.intellij.ide.projectView.PresentationData; import com.intellij.ide.projectView.ViewSettings; import com.intellij.ide.util.treeView.AbstractTreeNode; +import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiField; import com.intellij.psi.PsiSubstitutor; @@ -26,6 +28,7 @@ import com.intellij.psi.util.PsiFormatUtil; import com.intellij.psi.util.PsiFormatUtilBase; import java.util.Collection; +import java.util.Objects; public class PsiFieldNode extends BasePsiMemberNode{ public PsiFieldNode(Project project, PsiField value, ViewSettings viewSettings) { @@ -39,9 +42,16 @@ public class PsiFieldNode extends BasePsiMemberNode{ @Override public void updateImpl(PresentationData data) { - String name = PsiFormatUtil.formatVariable(getValue(), - PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_TYPE | PsiFormatUtilBase.TYPE_AFTER | PsiFormatUtilBase.SHOW_INITIALIZER, - PsiSubstitutor.EMPTY); + PsiField field = Objects.requireNonNull(getValue()); + String name; + try { + name = PsiFormatUtil.formatVariable(field, + PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_TYPE | PsiFormatUtilBase.TYPE_AFTER | PsiFormatUtilBase.SHOW_INITIALIZER, + PsiSubstitutor.EMPTY); + } + catch (IndexNotReadyException e) { + name = StringUtil.notNullize(field.getName()); + } int c = name.indexOf('\n'); if (c > -1) { name = name.substring(0, c - 1);