void (@Nullable PsiElement psiElement) { if (psiElement == null) { return; } TaintNode taintNode = this; int style = taintNode.isExcluded() ? SimpleTextAttributes.STYLE_STRIKEOUT : SimpleTextAttributes.STYLE_PLAIN; Color color = taintNode.myTaintValue == TaintValue.TAINTED ? NamedColorUtil.getErrorForeground() : null; SimpleTextAttributes attributes = new SimpleTextAttributes(style, color); PsiMethod psiMethod = ObjectUtils.tryCast(psiElement, PsiMethod.class); if (psiMethod != null) { PsiMethodRenderingInfo renderingInfo = new PsiMethodRenderingInfo(true); String text = renderingInfo.getPresentableText(psiMethod); append(data, text, attributes); return; } PsiVariable psiVariable = ObjectUtils.tryCast(psiElement, PsiVariable.class); if (psiVariable != null) { String varText = PsiFormatUtil.formatVariable(psiVariable, PsiFormatUtilBase.SHOW_NAME | PsiFormatUtilBase.SHOW_TYPE, PsiSubstitutor.EMPTY); append(data, varText, attributes); PsiNameIdentifierOwner parent = PsiTreeUtil.getParentOfType(psiVariable, PsiClass.class, PsiMethod.class); Color placeColor = attributes.getFgColor(); if (placeColor == null) placeColor = UIUtil.getLabelInfoForeground(); SimpleTextAttributes placeAttribute = new SimpleTextAttributes(SimpleTextAttributes.STYLE_ITALIC, placeColor); if (parent instanceof PsiMethod) { PsiMethodRenderingInfo renderingInfo = new PsiMethodRenderingInfo(true); append(data, ": " + renderingInfo.getPresentableText((PsiMethod)parent), placeAttribute); } else if (parent instanceof PsiClass) { PsiElementRenderingInfo<PsiClass> renderingInfo = PsiClassRenderingInfo.INSTANCE; append(data, ": " + renderingInfo.getPresentableText((PsiClass)parent), placeAttribute); } return; } PsiNamedElement namedElement = ObjectUtils.tryCast(psiElement, PsiNamedElement.class); if (namedElement == null) return; String name = namedElement.getName(); if (name == null) return; append(data, name, attributes); }