From 4d740a539a076f2a00dbbbb32050282d230c19d1 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 20 Jan 2005 17:58:26 +0300 Subject: [PATCH] (no message) --- .../usages/impl/UsageViewManagerImpl.java | 4 +- .../intellij/navigation/NavigationItem.java | 1 - .../daemon/impl/analysis/HighlightUtil.java | 2 +- .../navigation/GotoImplementationHandler.java | 4 +- .../navigation/NavigationUtil.java | 2 +- .../actions/GotoDeclarationAction.java | 17 +++-- .../ui/InspectionResultsView.java | 9 ++- .../junit2/ui/actions/ToolbarPanel.java | 5 +- .../actions/BaseNavigateToSourceAction.java | 4 +- .../actions/OccurenceNavigatorActionBase.java | 4 +- .../errorTreeView/NewErrorTreeViewPanel.java | 11 +-- .../impl/AbstractProjectViewPSIPane.java | 72 +++++++++---------- .../projectView/impl/nodes/BasePsiNode.java | 8 +-- .../StructureViewComponent.java | 2 +- source/com/intellij/ide/todo/TodoPanel.java | 2 +- .../openapi/fileEditor/impl/EditorWindow.java | 14 ++-- .../fileEditor/impl/EditorsSplitters.java | 30 ++++---- .../roots/impl/DirectoryIndexImpl.java | 24 +++---- .../ui/DependenciesPanel.java | 16 +++-- .../com/intellij/psi/impl/PsiElementBase.java | 2 +- .../impl/source/tree/CompositePsiElement.java | 2 +- .../usageView/impl/SelectInEditorHandler.java | 2 +- .../util/containers/SoftValueHashMap.java | 10 +-- 23 files changed, 125 insertions(+), 122 deletions(-) diff --git a/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java b/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java index 437ada31d3d6..0fb913657034 100644 --- a/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java +++ b/UsageView/src/com/intellij/usages/impl/UsageViewManagerImpl.java @@ -122,7 +122,9 @@ public class UsageViewManagerImpl implements UsageViewManager, ProjectComponent else if (myUsageCount == 1 && !showPanelIfOnlyOneUsage) { SwingUtilities.invokeLater(new Runnable() { public void run() { - myFirstUsage.navigate(true); + if (myFirstUsage.canNavigate()) { + myFirstUsage.navigate(true); + } } }); } diff --git a/openapi/src/com/intellij/navigation/NavigationItem.java b/openapi/src/com/intellij/navigation/NavigationItem.java index 7034a6110635..060ce08b5726 100644 --- a/openapi/src/com/intellij/navigation/NavigationItem.java +++ b/openapi/src/com/intellij/navigation/NavigationItem.java @@ -37,6 +37,5 @@ import com.intellij.pom.Navigatable; public interface NavigationItem extends Navigatable { String getName(); ItemPresentation getPresentation(); - void navigate(boolean requestFocus); FileStatus getFileStatus(); } \ No newline at end of file diff --git a/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java b/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java index 2ba1c4f70811..d7a5f6705cc3 100644 --- a/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java +++ b/source/com/intellij/codeInsight/daemon/impl/analysis/HighlightUtil.java @@ -68,7 +68,7 @@ public class HighlightUtil { static { ourClassIncompatibleModifiers = new THashMap>(8); - THashSet modifiers = new THashSet(1); + Set modifiers = new THashSet(1); modifiers.add(PsiModifier.FINAL); ourClassIncompatibleModifiers.put(PsiModifier.ABSTRACT, modifiers); modifiers = new THashSet(1); diff --git a/source/com/intellij/codeInsight/navigation/GotoImplementationHandler.java b/source/com/intellij/codeInsight/navigation/GotoImplementationHandler.java index 7ed03a2a17bc..41bd78efd29c 100644 --- a/source/com/intellij/codeInsight/navigation/GotoImplementationHandler.java +++ b/source/com/intellij/codeInsight/navigation/GotoImplementationHandler.java @@ -195,7 +195,7 @@ public class GotoImplementationHandler implements CodeInsightActionHandler { if (elements.length == 1) { Navigatable descriptor = EditSourceUtil.getDescriptor(elements[0]); - if (descriptor != null) { + if (descriptor != null && descriptor.canNavigate()) { descriptor.navigate(true); } } @@ -218,7 +218,7 @@ public class GotoImplementationHandler implements CodeInsightActionHandler { if (index < 0) return; PsiElement element = (PsiElement) list.getSelectedValue(); Navigatable descriptor = EditSourceUtil.getDescriptor(element); - if (descriptor != null) { + if (descriptor != null && descriptor.canNavigate()) { descriptor.navigate(true); } } diff --git a/source/com/intellij/codeInsight/navigation/NavigationUtil.java b/source/com/intellij/codeInsight/navigation/NavigationUtil.java index 4ee0819d8e07..de92f0dd4a56 100644 --- a/source/com/intellij/codeInsight/navigation/NavigationUtil.java +++ b/source/com/intellij/codeInsight/navigation/NavigationUtil.java @@ -35,7 +35,7 @@ public final class NavigationUtil { if (index < 0) return; PsiElement element = (PsiElement) list.getSelectedValue(); Navigatable descriptor = EditSourceUtil.getDescriptor(element); - if (descriptor != null) { + if (descriptor != null && descriptor.canNavigate()) { descriptor.navigate(true); } } diff --git a/source/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java b/source/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java index d59a601f4b78..a3830c7591c4 100644 --- a/source/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java +++ b/source/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java @@ -32,12 +32,12 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code } protected boolean isValidForFile(Project project, Editor editor, final PsiFile file) { - boolean b = file.canContainJavaCode() || file instanceof XmlFile; - if (!b) { + boolean canNavigate = file.canContainJavaCode() || file instanceof XmlFile; + if (!canNavigate) { FileTypeSupportCapabilities supportCapabilities = file.getFileType().getSupportCapabilities(); - b = (supportCapabilities!=null)?supportCapabilities.hasNavigation():false; + canNavigate = supportCapabilities == null ? false : supportCapabilities.hasNavigation(); } - return b; + return canNavigate; } protected boolean isValidForLookup() { @@ -51,7 +51,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code PsiElement element = findTargetElement(project, editor, offset); if (element == null) { FeatureUsageTracker.getInstance().triggerFeatureUsed("navigation.goto.declaration"); - chooseAmbigousTarget(project, editor, offset); + chooseAmbiguousTarget(project, editor, offset); return; } @@ -68,19 +68,18 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code } } - if (navElement instanceof Navigatable) { + if (navElement instanceof Navigatable && ((Navigatable)navElement).canNavigate()) { ((Navigatable)navElement).navigate(true); } } - - private void chooseAmbigousTarget(final Project project, final Editor editor, int offset) { + private void chooseAmbiguousTarget(final Project project, final Editor editor, int offset) { final PsiElement[] candidates = suggestCandidates(project, editor, offset); if (candidates.length == 0) { return; } else if (candidates.length == 1) { Navigatable navigatable = EditSourceUtil.getDescriptor(candidates[0]); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(true); } } else { diff --git a/source/com/intellij/codeInspection/ui/InspectionResultsView.java b/source/com/intellij/codeInspection/ui/InspectionResultsView.java index 3c5e48d70d48..ae3c9e119f77 100644 --- a/source/com/intellij/codeInspection/ui/InspectionResultsView.java +++ b/source/com/intellij/codeInspection/ui/InspectionResultsView.java @@ -33,9 +33,8 @@ import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Splitter; import com.intellij.openapi.util.IconLoader; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.openapi.vfs.VirtualFileManager; import com.intellij.openapi.vfs.ReadonlyStatusHandler; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.pom.Navigatable; @@ -142,7 +141,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator, public void mouseClicked(MouseEvent e) { if (!e.isPopupTrigger() && e.getClickCount() == 2) { Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(true); } } @@ -153,7 +152,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator, public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(false); } } @@ -202,7 +201,7 @@ public class InspectionResultsView extends JPanel implements OccurenceNavigator, private void syncSource() { if (isAutoScrollMode()) { Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(false); } } diff --git a/source/com/intellij/execution/junit2/ui/actions/ToolbarPanel.java b/source/com/intellij/execution/junit2/ui/actions/ToolbarPanel.java index 883c442b3cd8..7f4a6a3f6493 100644 --- a/source/com/intellij/execution/junit2/ui/actions/ToolbarPanel.java +++ b/source/com/intellij/execution/junit2/ui/actions/ToolbarPanel.java @@ -90,8 +90,9 @@ public class ToolbarPanel extends JPanel implements OccurenceNavigator { if (aClass != null && "junit.framework.TestSuite".equals(aClass.getQualifiedName())) return; } final Navigatable descriptor = TestsUIUtil.getOpenFileDescriptor(test, model); - if (descriptor == null) return; - descriptor.navigate(false); + if (descriptor != null && descriptor.canNavigate()) { + descriptor.navigate(false); + } } }); } diff --git a/source/com/intellij/ide/actions/BaseNavigateToSourceAction.java b/source/com/intellij/ide/actions/BaseNavigateToSourceAction.java index acee1292cb36..6d6167280fb0 100644 --- a/source/com/intellij/ide/actions/BaseNavigateToSourceAction.java +++ b/source/com/intellij/ide/actions/BaseNavigateToSourceAction.java @@ -29,7 +29,9 @@ public abstract class BaseNavigateToSourceAction extends AnAction { public void actionPerformed(AnActionEvent e) { DataContext dataContext = e.getDataContext(); Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE); - navigatable.navigate(myFocusEditor); + if (navigatable.canNavigate()) { + navigatable.navigate(myFocusEditor); + } } diff --git a/source/com/intellij/ide/actions/OccurenceNavigatorActionBase.java b/source/com/intellij/ide/actions/OccurenceNavigatorActionBase.java index 2e977c483ee5..95e58160258c 100644 --- a/source/com/intellij/ide/actions/OccurenceNavigatorActionBase.java +++ b/source/com/intellij/ide/actions/OccurenceNavigatorActionBase.java @@ -30,7 +30,9 @@ abstract class OccurenceNavigatorActionBase extends AnAction { return; } Navigatable descriptor = occurenceInfo.getNavigateable(); - if (descriptor != null) descriptor.navigate(false); + if (descriptor != null && descriptor.canNavigate()) { + descriptor.navigate(false); + } if(occurenceInfo.getOccurenceNumber()==-1||occurenceInfo.getOccurencesCount()==-1){ return; } diff --git a/source/com/intellij/ide/errorTreeView/NewErrorTreeViewPanel.java b/source/com/intellij/ide/errorTreeView/NewErrorTreeViewPanel.java index a72dc14df661..d43ea70433a3 100644 --- a/source/com/intellij/ide/errorTreeView/NewErrorTreeViewPanel.java +++ b/source/com/intellij/ide/errorTreeView/NewErrorTreeViewPanel.java @@ -10,7 +10,6 @@ import com.intellij.ide.errorTreeView.impl.ErrorViewTextExporter; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.actionSystem.ex.DataConstantsEx; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.vfs.VirtualFile; @@ -22,7 +21,6 @@ import com.intellij.ui.content.Content; import com.intellij.ui.content.MessageView; import com.intellij.util.EditSourceOnDoubleClickHandler; import com.intellij.util.ui.ErrorTreeView; -import com.intellij.util.ui.MessageCategory; import com.intellij.util.ui.Tree; import com.intellij.util.ui.tree.TreeUtil; @@ -143,7 +141,7 @@ public class NewErrorTreeViewPanel extends JPanel implements DataProvider, Occur public Object getData(String dataId) { if (DataConstants.NAVIGATABLE.equals(dataId)) { final NavigatableMessageElement selectedMessageElement = getSelectedMessageElement(); - return (selectedMessageElement != null)? selectedMessageElement.getNavigatable() : null; + return selectedMessageElement != null? selectedMessageElement.getNavigatable() : null; } else if (DataConstants.HELP_ID.equals(dataId)) { return myHelpId; @@ -253,10 +251,13 @@ public class NewErrorTreeViewPanel extends JPanel implements DataProvider, Occur if (element == null) { return; } - element.getNavigatable().navigate(focusEditor); + final Navigatable navigatable = element.getNavigatable(); + if (navigatable.canNavigate()) { + navigatable.navigate(focusEditor); + } } - public String getQualifiedName(final VirtualFile file) { + public static String getQualifiedName(final VirtualFile file) { return file.getPresentableUrl(); } diff --git a/source/com/intellij/ide/projectView/impl/AbstractProjectViewPSIPane.java b/source/com/intellij/ide/projectView/impl/AbstractProjectViewPSIPane.java index 38d576d2080c..a5528971bb59 100644 --- a/source/com/intellij/ide/projectView/impl/AbstractProjectViewPSIPane.java +++ b/source/com/intellij/ide/projectView/impl/AbstractProjectViewPSIPane.java @@ -72,51 +72,51 @@ public abstract class AbstractProjectViewPSIPane extends AbstractProjectViewPane TreeUtil.installActions(myTree); myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() { - public void valueChanged(TreeSelectionEvent e) { - fireTreeChangeListener(); - } - }); + public void valueChanged(TreeSelectionEvent e) { + fireTreeChangeListener(); + } + }); myTree.getModel().addTreeModelListener(new TreeModelListener() { - public void treeNodesChanged(TreeModelEvent e) { - fireTreeChangeListener(); - } + public void treeNodesChanged(TreeModelEvent e) { + fireTreeChangeListener(); + } - public void treeNodesInserted(TreeModelEvent e) { - fireTreeChangeListener(); - } + public void treeNodesInserted(TreeModelEvent e) { + fireTreeChangeListener(); + } - public void treeNodesRemoved(TreeModelEvent e) { - fireTreeChangeListener(); - } + public void treeNodesRemoved(TreeModelEvent e) { + fireTreeChangeListener(); + } - public void treeStructureChanged(TreeModelEvent e) { - fireTreeChangeListener(); - } - }); + public void treeStructureChanged(TreeModelEvent e) { + fireTreeChangeListener(); + } + }); new MySpeedSearch(myTree); myTree.addKeyListener(new KeyAdapter() { - public void keyPressed(KeyEvent e) { - if (KeyEvent.VK_ENTER == e.getKeyCode()) { + public void keyPressed(KeyEvent e) { + if (KeyEvent.VK_ENTER == e.getKeyCode()) { - DataContext dataContext = DataManager.getInstance().getDataContext(myTree); - Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { - navigatable.navigate(false); - } - } - else if (KeyEvent.VK_ESCAPE == e.getKeyCode()) { - if (e.isConsumed()) return; - CopyPasteManagerEx copyPasteManager = (CopyPasteManagerEx)CopyPasteManager.getInstance(); - boolean[] isCopied = new boolean[1]; - if (copyPasteManager.getElements(isCopied) != null && !isCopied[0]) { - copyPasteManager.clear(); - e.consume(); - } - } - } - }); + DataContext dataContext = DataManager.getInstance().getDataContext(myTree); + Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE); + if (navigatable != null && navigatable.canNavigate()) { + navigatable.navigate(false); + } + } + else if (KeyEvent.VK_ESCAPE == e.getKeyCode()) { + if (e.isConsumed()) return; + CopyPasteManagerEx copyPasteManager = (CopyPasteManagerEx)CopyPasteManager.getInstance(); + boolean[] isCopied = new boolean[1]; + if (copyPasteManager.getElements(isCopied) != null && !isCopied[0]) { + copyPasteManager.clear(); + e.consume(); + } + } + } + }); myExpandedElements.restoreExpandedElements(this, myProject); } diff --git a/source/com/intellij/ide/projectView/impl/nodes/BasePsiNode.java b/source/com/intellij/ide/projectView/impl/nodes/BasePsiNode.java index da4bc36c5ece..683565743c07 100644 --- a/source/com/intellij/ide/projectView/impl/nodes/BasePsiNode.java +++ b/source/com/intellij/ide/projectView/impl/nodes/BasePsiNode.java @@ -14,11 +14,11 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import javax.swing.*; -import java.util.Collection; import java.util.ArrayList; +import java.util.Collection; public abstract class BasePsiNode extends ProjectViewNode { - static private final Logger LOG = Logger.getInstance("#com.intellij.ide.projectView.impl.nodes.BasePsiNode"); + private static final Logger LOG = Logger.getInstance("#com.intellij.ide.projectView.impl.nodes.BasePsiNode"); private SmartPsiElementPointer mySmartPointer; @@ -97,12 +97,12 @@ public abstract class BasePsiNode extends ProjectViewN public void navigate(boolean requestFocus) { if (canNavigate()) { - ((NavigationItem)getValue()).navigate(requestFocus); + ((NavigationItem)getValue()).navigate(requestFocus); } } public boolean canNavigate() { - return getValue() instanceof NavigationItem; + return getValue() instanceof NavigationItem && ((NavigationItem)getValue()).canNavigate(); } public static VirtualFile getVirtualFile(PsiElement element) { diff --git a/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 3c9e2dca6cce..be29980438ac 100644 --- a/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -178,7 +178,7 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner, if (KeyEvent.VK_ENTER == e.getKeyCode()) { DataContext dataContext = DataManager.getInstance().getDataContext(getTree()); Navigatable navigatable = (Navigatable)dataContext.getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(false); } } diff --git a/source/com/intellij/ide/todo/TodoPanel.java b/source/com/intellij/ide/todo/TodoPanel.java index 95e0a4da62b9..99cd81292c43 100644 --- a/source/com/intellij/ide/todo/TodoPanel.java +++ b/source/com/intellij/ide/todo/TodoPanel.java @@ -116,7 +116,7 @@ abstract class TodoPanel extends JPanel implements OccurenceNavigator, DataProvi return; } Navigatable navigatable = (Navigatable)getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(false); } } diff --git a/source/com/intellij/openapi/fileEditor/impl/EditorWindow.java b/source/com/intellij/openapi/fileEditor/impl/EditorWindow.java index fb5b875e6c76..810a8ef2ca58 100644 --- a/source/com/intellij/openapi/fileEditor/impl/EditorWindow.java +++ b/source/com/intellij/openapi/fileEditor/impl/EditorWindow.java @@ -12,7 +12,6 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.ui.LayeredIcon; import com.intellij.util.IconUtil; -import com.intellij.util.containers.ArrayListSet; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -20,6 +19,7 @@ import javax.swing.event.ChangeListener; import java.awt.*; import java.util.ArrayList; import java.util.Iterator; +import java.util.Set; /** * Author: msk @@ -67,7 +67,7 @@ public class EditorWindow { myPanel.add(myTabbedPane.getComponent(), BorderLayout.CENTER); } - private ArrayListSet getWindows() { + private Set getWindows() { return myOwner.myWindows; } @@ -197,7 +197,7 @@ public class EditorWindow { closeFile(files[i], false); } disposeTabs(); - getManager().openFileImpl2(this, currentFile, focusEditor && (myOwner.getCurrentWindow() == this), null); + getManager().openFileImpl2(this, currentFile, focusEditor && myOwner.getCurrentWindow() == this, null); } } finally { @@ -526,13 +526,13 @@ public class EditorWindow { public boolean inSplitter() { check(); - return (myPanel.getParent() instanceof Splitter); + return myPanel.getParent() instanceof Splitter; } public VirtualFile getSelectedFile() { check(); final EditorWithProviderComposite editor = getSelectedEditor(); - return (editor == null ? null : editor.getFile()); + return editor == null ? null : editor.getFile(); } public EditorWithProviderComposite findFileComposite(final VirtualFile file) { @@ -595,7 +595,7 @@ public class EditorWindow { if(!isFileOpen(file)){ throw new IllegalArgumentException("file is not open: " + file.getPath()); } - getManager().assertThread(); + FileEditorManagerImpl.assertThread(); final EditorComposite editorComposite = findFileComposite(file); return editorComposite.isPinned(); } @@ -604,7 +604,7 @@ public class EditorWindow { if(!isFileOpen(file)){ throw new IllegalArgumentException("file is not open: " + file.getPath()); } - getManager().assertThread(); + FileEditorManagerImpl.assertThread(); final EditorComposite editorComposite = findFileComposite(file); editorComposite.setPinned(pinned); updateFileIcon(file); diff --git a/source/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java b/source/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java index ae9c65b75901..2191c68c7b5f 100644 --- a/source/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java +++ b/source/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java @@ -17,9 +17,7 @@ import org.jdom.Element; import javax.swing.*; import java.awt.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Iterator; +import java.util.*; import java.util.List; @@ -399,7 +397,7 @@ public class EditorsSplitters extends JPanel { //--------------------------------------------------------- - protected final ArrayListSet myWindows = new ArrayListSet(); + protected final Set myWindows = new ArrayListSet(); public EditorWithProviderComposite[] findEditorComposites(final VirtualFile file) { final ArrayList res = new ArrayList(); @@ -410,7 +408,7 @@ public class EditorsSplitters extends JPanel { res.add(fileComposite); } } - return (res.size() == 0 ? null : res.toArray(new EditorWithProviderComposite[res.size()])); + return res.size() == 0 ? null : res.toArray(new EditorWithProviderComposite[res.size()]); } public EditorWindow[] findWindows(final VirtualFile file) { @@ -421,7 +419,7 @@ public class EditorsSplitters extends JPanel { res.add(window); } } - return (res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()])); + return res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]); } public EditorWindow[] findWindowsWithCurrent(final VirtualFile file) { @@ -432,7 +430,7 @@ public class EditorsSplitters extends JPanel { res.add(window); } } - return (res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()])); + return res.size() == 0 ? null : res.toArray(new EditorWindow[res.size()]); } public EditorWindow [] getWindows() { @@ -458,17 +456,15 @@ public class EditorsSplitters extends JPanel { } } } - }; + } // get root component and traverse splitters tree: - { - if (getComponentCount() != 0) { - final Component comp = getComponent(0); - LOG.assertTrue(comp instanceof JPanel); - final JPanel panel = (JPanel)comp; - if (panel.getComponentCount() != 0) { - new Inner().collect (panel); - } + if (getComponentCount() != 0) { + final Component comp = getComponent(0); + LOG.assertTrue(comp instanceof JPanel); + final JPanel panel = (JPanel)comp; + if (panel.getComponentCount() != 0) { + new Inner().collect (panel); } } @@ -498,7 +494,7 @@ public class EditorsSplitters extends JPanel { if (oldActiveWindow != newActiveWindow) { setCurrentWindow(newActiveWindow, false); getManager().updateFileName(newActiveWindow.getSelectedFile()); - getManager().fireSelectionChanged((oldActiveWindow == null ? null : oldActiveWindow.getSelectedEditor()), newActiveWindow.getSelectedEditor()); + getManager().fireSelectionChanged(oldActiveWindow == null ? null : oldActiveWindow.getSelectedEditor(), newActiveWindow.getSelectedEditor()); } } } diff --git a/source/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java b/source/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java index bc2f0e6fd971..2926eb536a94 100644 --- a/source/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java +++ b/source/com/intellij/openapi/roots/impl/DirectoryIndexImpl.java @@ -12,7 +12,6 @@ import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; -import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.util.Key; import com.intellij.openapi.vfs.*; import com.intellij.psi.PsiManager; @@ -20,6 +19,7 @@ import com.intellij.psi.PsiNameHelper; import com.intellij.psi.impl.PsiManagerConfiguration; import com.intellij.util.EventDispatcher; import junit.framework.Assert; +import com.intellij.util.containers.HashMap; import java.util.*; @@ -33,8 +33,8 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone private boolean myInitialized = false; private boolean myDisposed = false; - private com.intellij.util.containers.HashMap myDirToInfoMap = new com.intellij.util.containers.HashMap(); - private com.intellij.util.containers.HashMap myPackageNameToDirsMap = new com.intellij.util.containers.HashMap(); + private Map myDirToInfoMap = new HashMap(); + private Map myPackageNameToDirsMap = new HashMap(); private VirtualFileListener myVirtualFileListener; private FileTypeListener myFileTypeListener; @@ -88,17 +88,17 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone Assert.assertTrue(myInitialized); Assert.assertTrue(!myDisposed); - com.intellij.util.containers.HashMap oldDirToInfoMap = myDirToInfoMap; - myDirToInfoMap = new com.intellij.util.containers.HashMap(); + Map oldDirToInfoMap = myDirToInfoMap; + myDirToInfoMap = new HashMap(); - com.intellij.util.containers.HashMap oldPackageNameToDirsMap = myPackageNameToDirsMap; - myPackageNameToDirsMap = new com.intellij.util.containers.HashMap(); + Map oldPackageNameToDirsMap = myPackageNameToDirsMap; + myPackageNameToDirsMap = new HashMap(); _initialize(reverseAllSets, null); if (LAZY_MODE) { - com.intellij.util.containers.HashMap newDirToInfoMap = myDirToInfoMap; - com.intellij.util.containers.HashMap newPackageNameToDirsMap = myPackageNameToDirsMap; + Map newDirToInfoMap = myDirToInfoMap; + Map newPackageNameToDirsMap = myPackageNameToDirsMap; myDirToInfoMap = oldDirToInfoMap; myPackageNameToDirsMap = oldPackageNameToDirsMap; @@ -391,7 +391,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone } } - private void putForFileAndAllAncestors(Map> map, VirtualFile file, VirtualFile value) { + private static void putForFileAndAllAncestors(Map> map, VirtualFile file, VirtualFile value) { while (true) { Set set = map.get(file); if (set == null) { @@ -792,7 +792,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone } private class MyVirtualFileListener implements VirtualFileListener { - private final Key FILES_TO_RELEASE_KEY = Key.create("DirectoryIndexImpl.MyVirtualFileListener.FILES_TO_RELEASE_KEY"); + private final Key> FILES_TO_RELEASE_KEY = Key.create("DirectoryIndexImpl.MyVirtualFileListener.FILES_TO_RELEASE_KEY"); public void fileCreated(VirtualFileEvent event) { VirtualFile file = event.getFile(); @@ -857,7 +857,7 @@ public class DirectoryIndexImpl extends DirectoryIndex implements ProjectCompone public void fileDeleted(VirtualFileEvent event) { VirtualFile file = event.getFile(); - ArrayList list = (ArrayList)file.getUserData(FILES_TO_RELEASE_KEY); + List list = file.getUserData(FILES_TO_RELEASE_KEY); if (list == null) return; for (int i = 0; i < list.size(); i++) { diff --git a/source/com/intellij/packageDependencies/ui/DependenciesPanel.java b/source/com/intellij/packageDependencies/ui/DependenciesPanel.java index 7f26a3df51e3..0afa0225dfbf 100644 --- a/source/com/intellij/packageDependencies/ui/DependenciesPanel.java +++ b/source/com/intellij/packageDependencies/ui/DependenciesPanel.java @@ -12,7 +12,10 @@ import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.WindowManager; -import com.intellij.packageDependencies.*; +import com.intellij.packageDependencies.DependenciesBuilder; +import com.intellij.packageDependencies.DependencyRule; +import com.intellij.packageDependencies.DependencyUISettings; +import com.intellij.packageDependencies.DependencyValidationManager; import com.intellij.packageDependencies.actions.AnalyzeDependenciesHandler; import com.intellij.packageDependencies.actions.BackwardDependenciesHandler; import com.intellij.pom.Navigatable; @@ -20,21 +23,20 @@ import com.intellij.psi.*; import com.intellij.ui.*; import com.intellij.ui.content.Content; import com.intellij.util.Icons; -import com.intellij.util.ArrayUtil; import com.intellij.util.ui.Tree; import com.intellij.util.ui.tree.TreeUtil; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; -import javax.swing.event.TreeExpansionListener; -import javax.swing.event.TreeExpansionEvent; -import javax.swing.tree.*; +import javax.swing.tree.DefaultTreeCellRenderer; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; +import javax.swing.tree.TreeSelectionModel; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.*; -import java.util.List; public class DependenciesPanel extends JPanel { private Map> myDependencies; @@ -217,7 +219,7 @@ public class DependenciesPanel extends JPanel { public void mouseClicked(MouseEvent e) { if (e.isPopupTrigger() && e.getClickCount() == 2) { Navigatable navigatable = (Navigatable)tree.getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(true); } } diff --git a/source/com/intellij/psi/impl/PsiElementBase.java b/source/com/intellij/psi/impl/PsiElementBase.java index 09eb69c0c963..53242e0f2af4 100644 --- a/source/com/intellij/psi/impl/PsiElementBase.java +++ b/source/com/intellij/psi/impl/PsiElementBase.java @@ -113,7 +113,7 @@ public abstract class PsiElementBase extends ElementBase implements PsiElement { } public boolean canNavigate() { - return true; + return EditSourceUtil.getDescriptor(getNavigationElement()) != null; } public FileStatus getFileStatus() { diff --git a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java index 9127122a2003..e345244b380d 100644 --- a/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java +++ b/source/com/intellij/psi/impl/source/tree/CompositePsiElement.java @@ -222,7 +222,7 @@ public abstract class CompositePsiElement extends CompositeElement implements Ps } public boolean canNavigate() { - return true; + return EditSourceUtil.getDescriptor(getNavigationElement()) != null; } public FileStatus getFileStatus() { diff --git a/source/com/intellij/usageView/impl/SelectInEditorHandler.java b/source/com/intellij/usageView/impl/SelectInEditorHandler.java index 41833b2c208a..1bda6ccc8c39 100644 --- a/source/com/intellij/usageView/impl/SelectInEditorHandler.java +++ b/source/com/intellij/usageView/impl/SelectInEditorHandler.java @@ -28,7 +28,7 @@ public class SelectInEditorHandler { public static void selectInEditor(final JComponent component, final Project project) { final Navigatable navigatable = (Navigatable)DataManager.getInstance().getDataContext(component).getData(DataConstants.NAVIGATABLE); - if (navigatable != null) { + if (navigatable != null && navigatable.canNavigate()) { navigatable.navigate(false); } } diff --git a/util/src/com/intellij/util/containers/SoftValueHashMap.java b/util/src/com/intellij/util/containers/SoftValueHashMap.java index 27543b4a4256..6ae00548f704 100644 --- a/util/src/com/intellij/util/containers/SoftValueHashMap.java +++ b/util/src/com/intellij/util/containers/SoftValueHashMap.java @@ -13,7 +13,7 @@ import java.util.Map; import java.util.Set; public final class SoftValueHashMap implements Map{ - private THashMap myMap; + private THashMap> myMap; private ReferenceQueue> myQueue = new ReferenceQueue>(); private static class MyReference extends SoftReference { @@ -25,7 +25,7 @@ public final class SoftValueHashMap implements Map{ } public SoftValueHashMap() { - myMap = new THashMap(); + myMap = new THashMap>(); } private void processQueue() { @@ -46,20 +46,20 @@ public final class SoftValueHashMap implements Map{ } public V get(Object key) { - MyReference ref = (MyReference)myMap.get(key); + MyReference ref = myMap.get(key); if (ref == null) return null; return ref.get(); } public V put(K key, V value) { processQueue(); - MyReference oldRef = (MyReference)myMap.put(key, new MyReference(key, value, myQueue)); + MyReference oldRef = myMap.put(key, new MyReference(key, value, myQueue)); return oldRef != null ? (V)oldRef.get() : null; } public V remove(Object key) { processQueue(); - MyReference ref = (MyReference)myMap.remove(key); + MyReference ref = myMap.remove(key); return ref != null ? ref.get() : null; }