in src/main/java/org/jetbrains/plugins/spotbugs/gui/tree/view/BugTree.java [142:168]
public Object getData(@NonNls final String dataId) {
if (CommonDataKeys.VIRTUAL_FILE.is(dataId)) {
return getSelectedVirtualFile();
}
if (CommonDataKeys.NAVIGATABLE.is(dataId)) {
return getNavigatableData();
}
if (CommonDataKeys.VIRTUAL_FILE_ARRAY.is(dataId)) {
final VirtualFile virtualFile = getSelectedVirtualFile();
return virtualFile != null ? new VirtualFile[]{virtualFile} : VirtualFile.EMPTY_ARRAY;
}
if (CommonDataKeys.PSI_ELEMENT.is(dataId)) {
final BugInstanceNode node = _treeHelper.getSelectedBugInstanceNode();
if (node == null) {
return null;
}
final PsiFile psiFile = node.getPsiFile();
if (node.isAnonymousClass() || node.isFirstLines()) {
final PsiElement psiElement = IdeaUtilImpl.findPsiElement(psiFile, node.getBugInstance(), _project);
if (psiElement != null) {
return psiElement;
}
}
return psiFile;
}
return null;
}