diff --git a/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java b/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java index e0698ed140b1..ef0e14aa4515 100644 --- a/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java +++ b/images/src/org/intellij/images/fileTypes/ImageDocumentationProvider.java @@ -43,6 +43,7 @@ public class ImageDocumentationProvider extends AbstractDocumentationProvider { final VirtualFile file = ((PsiFileSystemItem)element).getVirtualFile(); if (file instanceof VirtualFileWithId && !DumbService.isDumb(element.getProject())) { ImageInfoIndex.processValues(file, new FileBasedIndex.ValueProcessor() { + @Override public boolean process(VirtualFile file, ImageInfoIndex.ImageInfo value) { int imageWidth = value.width; int imageHeight = value.height; @@ -62,7 +63,7 @@ public class ImageDocumentationProvider extends AbstractDocumentationProvider { result[0] = String.format("

%sx%s, %sbpp

", url, imageWidth, imageHeight, value.width, value.height, value.bpp); } - catch (URISyntaxException e) { + catch (URISyntaxException ignored) { // nothing } return true; diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java b/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java index e8197bbefb47..570e42e58f34 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/ClassesTreeStructureProvider.java @@ -125,7 +125,7 @@ public class ClassesTreeStructureProvider implements SelectableTreeStructureProv return current != null ? current : baseRootFile; } - private boolean isSelectable(PsiElement element) { + private static boolean isSelectable(PsiElement element) { if (element instanceof PsiFileSystemItem) return true; if (element instanceof PsiField || element instanceof PsiClass || element instanceof PsiMethod) { diff --git a/java/java-impl/src/com/intellij/psi/impl/JavaCodeBlockModificationListener.java b/java/java-impl/src/com/intellij/psi/impl/JavaCodeBlockModificationListener.java index 5ab99de764ed..ac8de81cf0f0 100644 --- a/java/java-impl/src/com/intellij/psi/impl/JavaCodeBlockModificationListener.java +++ b/java/java-impl/src/com/intellij/psi/impl/JavaCodeBlockModificationListener.java @@ -84,7 +84,7 @@ public class JavaCodeBlockModificationListener implements PsiTreeChangePreproces myModificationTracker.incCounter(); } } - catch (PsiInvalidElementAccessException e) { + catch (PsiInvalidElementAccessException ignored) { myModificationTracker.incCounter(); // Shall not happen actually, just a pre-release paranoia } } diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java index 604b90e896d6..c23cf728f500 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FilePathReferenceProvider.java @@ -16,7 +16,7 @@ package com.intellij.psi.impl.source.resolve.reference.impl.providers; import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleUtil; +import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.TextRange; @@ -87,7 +87,7 @@ public class FilePathReferenceProvider extends PsiReferenceProvider { systemItems.addAll(getRoots(forModule, true)); } } else { - systemItems.addAll(getRoots(ModuleUtil.findModuleForPsiElement(getElement()), true)); + systemItems.addAll(getRoots(ModuleUtilCore.findModuleForPsiElement(getElement()), true)); } return systemItems; } @@ -144,7 +144,7 @@ public class FilePathReferenceProvider extends PsiReferenceProvider { if (thisModule == null) return Collections.emptyList(); Set modules = new com.intellij.util.containers.HashSet(); ModuleRootManager moduleRootManager = ModuleRootManager.getInstance(thisModule); - ModuleUtil.getDependencies(thisModule, modules); + ModuleUtilCore.getDependencies(thisModule, modules); List result = new ArrayList(); final PsiManager psiManager = PsiManager.getInstance(thisModule.getProject()); if (includingClasses) { diff --git a/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java b/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java index 334feb7f5a21..897cefcf59b7 100644 --- a/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java +++ b/platform/core-api/src/com/intellij/psi/util/PsiUtilCore.java @@ -348,7 +348,8 @@ public class PsiUtilCore { } @Nullable - public static VirtualFile getVirtualFile(@Nullable PsiElement element) { + public static VirtualFile getVirtualFile(@Nullable Object object) { + PsiElement element = object instanceof PsiElement ? (PsiElement)object : null; if (element == null || !element.isValid()) { return null; } diff --git a/platform/indexing-impl/src/com/intellij/psi/impl/search/CachesBasedRefSearcher.java b/platform/indexing-impl/src/com/intellij/psi/impl/search/CachesBasedRefSearcher.java index b430c0d65095..6e4a27e8559e 100644 --- a/platform/indexing-impl/src/com/intellij/psi/impl/search/CachesBasedRefSearcher.java +++ b/platform/indexing-impl/src/com/intellij/psi/impl/search/CachesBasedRefSearcher.java @@ -3,7 +3,10 @@ package com.intellij.psi.impl.search; import com.intellij.openapi.application.QueryExecutorBase; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.*; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFileSystemItem; +import com.intellij.psi.PsiNamedElement; +import com.intellij.psi.PsiReference; import com.intellij.psi.meta.PsiMetaData; import com.intellij.psi.meta.PsiMetaOwner; import com.intellij.psi.search.SearchScope; @@ -44,9 +47,7 @@ public class CachesBasedRefSearcher extends QueryExecutorBase extends AbstractTreeNode im public static AbstractTreeNode createTreeNode(Class nodeClass, Project project, Object value, - ViewSettings settings) throws NoSuchMethodException, - InstantiationException, - IllegalAccessException, - InvocationTargetException { + ViewSettings settings) throws + InstantiationException { Object[] parameters = new Object[]{project, value, settings}; for (Constructor constructor : (Constructor[])nodeClass.getConstructors()) { if (constructor.getParameterTypes().length != 3) continue; try { return constructor.newInstance(parameters); } - catch (InstantiationException e) { + catch (InstantiationException ignored) { } - catch (IllegalAccessException e) { + catch (IllegalAccessException ignored) { } - catch (IllegalArgumentException e) { + catch (IllegalArgumentException ignored) { } - catch (InvocationTargetException e) { + catch (InvocationTargetException ignored) { } } throw new InstantiationException("no constructor found in " + nodeClass); @@ -142,7 +143,7 @@ public abstract class ProjectViewNode extends AbstractTreeNode im break; } - if (VfsUtil.isAncestor(eachRoot, file, true)) { + if (VfsUtilCore.isAncestor(eachRoot, file, true)) { mayContain = true; break; } @@ -193,7 +194,7 @@ public abstract class ProjectViewNode extends AbstractTreeNode im public boolean value(final VirtualFile virtualFile) { return contains(virtualFile) // in case of flattened packages, when package node a.b.c contains error file, node a.b might not. - && (getValue() instanceof PsiElement && Comparing.equal(PsiUtilBase.getVirtualFile((PsiElement)getValue()), virtualFile) || + && (getValue() instanceof PsiElement && Comparing.equal(PsiUtilCore.getVirtualFile(getValue()), virtualFile) || someChildContainsFile(virtualFile)); } }); diff --git a/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java b/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java index 659f52777ed0..066e2027cb32 100644 --- a/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java +++ b/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java @@ -288,4 +288,15 @@ public class PsiUtilBase extends PsiUtilCore { final VirtualFile virtualFile = element.getVirtualFile(); return virtualFile != null && virtualFile.is(VFileProperty.SYMLINK); } + + @Nullable + public static VirtualFile asVirtualFile(@Nullable Object element) { + if (element instanceof PsiFileSystemItem) { + PsiFileSystemItem psiFileSystemItem = (PsiFileSystemItem)element; + return psiFileSystemItem.isValid() ? psiFileSystemItem.getVirtualFile() : null; + } + else { + return null; + } + } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/preview/ImagePreviewComponent.java b/platform/lang-impl/src/com/intellij/codeInsight/preview/ImagePreviewComponent.java index 3645028717e1..3baa777939ce 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/preview/ImagePreviewComponent.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/preview/ImagePreviewComponent.java @@ -70,6 +70,7 @@ public class ImagePreviewComponent extends JPanel implements PreviewHintComponen setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.black), BorderFactory.createEmptyBorder(5, 5, 5, 5))); } + @Override @TestOnly public boolean isEqualTo(@Nullable PreviewHintComponent other) { if (!(other instanceof ImagePreviewComponent)) { @@ -159,7 +160,7 @@ public class ImagePreviewComponent extends JPanel implements PreviewHintComponen } } } - catch (IOException e) { + catch (IOException ignored) { // nothing } } diff --git a/platform/lang-impl/src/com/intellij/ide/PsiCopyPasteManager.java b/platform/lang-impl/src/com/intellij/ide/PsiCopyPasteManager.java index 3a4fb08f33d8..f42623be4218 100644 --- a/platform/lang-impl/src/com/intellij/ide/PsiCopyPasteManager.java +++ b/platform/lang-impl/src/com/intellij/ide/PsiCopyPasteManager.java @@ -31,7 +31,7 @@ import com.intellij.openapi.vfs.CharsetToolkit; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; -import com.intellij.util.ArrayUtil; +import com.intellij.util.ArrayUtilRt; import org.jetbrains.annotations.Nullable; import java.awt.datatransfer.DataFlavor; @@ -322,7 +322,7 @@ public class PsiCopyPasteManager { @Override public boolean isDataFlavorSupported(DataFlavor flavor) { - return ArrayUtil.find(getTransferDataFlavors(), flavor) != -1; + return ArrayUtilRt.find(getTransferDataFlavors(), flavor) != -1; } public PsiElement[] getElements() { diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java b/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java index 5f4d6d903cb6..ea265433ccb8 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/BaseProjectTreeBuilder.java @@ -32,9 +32,8 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.FocusRequestor; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.psi.PsiDirectory; -import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; -import com.intellij.psi.PsiFileSystemItem; +import com.intellij.psi.util.PsiUtilCore; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -68,26 +67,15 @@ public abstract class BaseProjectTreeBuilder extends AbstractTreeBuilder { if (element instanceof AbstractTreeNode) { AbstractTreeNode node = (AbstractTreeNode)element; final Object value = node.getValue(); - VirtualFile vFile = null; - if (value instanceof PsiFileSystemItem) { - vFile = ((PsiFileSystemItem)value).getVirtualFile(); - } - else if (value instanceof PsiElement) { - PsiFile psiFile = ((PsiElement)value).getContainingFile(); - if (psiFile != null) { - vFile = psiFile.getVirtualFile(); - } - } - final ActionCallback cb = new ActionCallback(); - - final VirtualFile finalVFile = vFile; + final ActionCallback callback = new ActionCallback(); + final VirtualFile virtualFile = PsiUtilCore.getVirtualFile(value); final FocusRequestor focusRequestor = IdeFocusManager.getInstance(myProject).getFurtherRequestor(); batch(new Progressive() { @Override public void run(@NotNull ProgressIndicator indicator) { final Ref target = new Ref(); - _select(value, finalVFile, false, Conditions.alwaysTrue(), cb, indicator, target, focusRequestor, false); - cb.doWhenDone(new Runnable() { + _select(value, virtualFile, false, Conditions.alwaysTrue(), callback, indicator, target, focusRequestor, false); + callback.doWhenDone(new Runnable() { @Override public void run() { result.setDone(target.get()); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/AbstractMvcPsiNodeDescriptor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/AbstractMvcPsiNodeDescriptor.java index e1639e4b0774..b7e19ba80012 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/AbstractMvcPsiNodeDescriptor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/AbstractMvcPsiNodeDescriptor.java @@ -10,7 +10,7 @@ import com.intellij.openapi.util.Condition; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.problems.WolfTheProblemSolver; import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiFileSystemItem; +import com.intellij.psi.util.PsiUtilCore; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -59,6 +59,7 @@ public abstract class AbstractMvcPsiNodeDescriptor extends AbstractPsiBasedNode< return super.contains(file); } + @Override @Nullable protected PsiElement extractPsiFromValue() { final NodeId nodeId = getValue(); @@ -86,15 +87,10 @@ public abstract class AbstractMvcPsiNodeDescriptor extends AbstractPsiBasedNode< if (!isValid()) { return null; } - final PsiElement psiElement = extractPsiFromValue(); - assert psiElement != null; - - if (psiElement instanceof PsiFileSystemItem) { - return ((PsiFileSystemItem)psiElement).getVirtualFile(); - } - return psiElement.getContainingFile().getVirtualFile(); + return PsiUtilCore.getVirtualFile(extractPsiFromValue()); } + @Override protected void updateImpl(final PresentationData data) { final PsiElement psiElement = extractPsiFromValue(); if (psiElement instanceof NavigationItem) { @@ -110,14 +106,17 @@ public abstract class AbstractMvcPsiNodeDescriptor extends AbstractPsiBasedNode< return myWeight; } + @Override protected boolean hasProblemFileBeneath() { return WolfTheProblemSolver.getInstance(getProject()).hasProblemFilesBeneath(new Condition() { + @Override public boolean value(final VirtualFile virtualFile) { return contains(virtualFile); } }); } + @Override public boolean isValid() { final PsiElement psiElement = extractPsiFromValue(); return psiElement != null && psiElement.isValid(); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/MvcProjectViewPane.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/MvcProjectViewPane.java index 6af5356a51aa..e50be1749d92 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/MvcProjectViewPane.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/projectView/MvcProjectViewPane.java @@ -34,11 +34,11 @@ import com.intellij.openapi.fileEditor.FileEditor; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleUtil; +import com.intellij.openapi.module.ModuleUtilCore; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ui.configuration.actions.ModuleDeleteProvider; -import com.intellij.openapi.vfs.VfsUtil; +import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowManager; @@ -169,19 +169,23 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id toolWindow.setTitleActions(new AnAction[]{new ScrollFromSourceAction(), collapseAction}); } + @Override public String getTitle() { throw new UnsupportedOperationException(); } + @Override public Icon getIcon() { return myDescriptor.getFramework().getIcon(); } + @Override @NotNull public String getId() { return myId; } + @Override public int getWeight() { throw new UnsupportedOperationException(); } @@ -191,6 +195,7 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id throw new UnsupportedOperationException(); } + @Override public SelectInTarget createSelectInTarget() { throw new UnsupportedOperationException(); } @@ -199,12 +204,14 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id @Override protected BaseProjectTreeBuilder createBuilder(final DefaultTreeModel treeModel) { return new ProjectTreeBuilder(myProject, myTree, treeModel, null, (ProjectAbstractTreeStructureBase)myTreeStructure) { + @Override protected AbstractTreeUpdater createUpdater() { return createTreeUpdater(this); } }; } + @Override protected ProjectAbstractTreeStructureBase createStructure() { final Project project = myProject; final String id = getId(); @@ -215,28 +222,33 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id return myViewState.hideEmptyMiddlePackages; } + @Override protected AbstractTreeNode createRoot(final Project project, ViewSettings settings) { return new MvcProjectNode(project, this, myDescriptor); } }; } + @Override protected ProjectViewTree createTree(final DefaultTreeModel treeModel) { return new ProjectViewTree(myProject, treeModel) { public String toString() { return myDescriptor.getFramework().getDisplayName() + " " + super.toString(); } + @Override public DefaultMutableTreeNode getSelectedNode() { return MvcProjectViewPane.this.getSelectedNode(); } }; } + @Override protected AbstractTreeUpdater createTreeUpdater(final AbstractTreeBuilder treeBuilder) { return new AbstractTreeUpdater(treeBuilder); } + @Override @Nullable protected PsiElement getPSIElement(@Nullable final Object element) { // E.g is used by Project View's DataProvider @@ -305,20 +317,23 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id return content == null ? null : (MvcProjectViewPane)content.getDisposer(); } + @Override public void selectElement(PsiElement element) { PsiFileSystemItem psiFile; - - if (!(element instanceof PsiFileSystemItem)) { - psiFile = element.getContainingFile(); - } - else { + if (element instanceof PsiFileSystemItem) { psiFile = (PsiFileSystemItem)element; } - - if (psiFile == null) return; + else { + psiFile = element.getContainingFile(); + if (psiFile == null) { + return; + } + } VirtualFile virtualFile = psiFile.getVirtualFile(); - if (virtualFile == null) return; + if (virtualFile == null) { + return; + } selectFile(virtualFile, false); @@ -337,10 +352,12 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id } } + @Override public PsiDirectory[] getDirectories() { return getSelectedDirectories(); } + @Override public PsiDirectory getOrChooseDirectory() { return DirectoryChooserUtil.getOrChooseDirectory(this); } @@ -360,7 +377,7 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id return null; } - final Module module = ModuleUtil.findModuleForFile(file, project); + final Module module = ModuleUtilCore.findModuleForFile(file, project); if (module == null || !framework.hasSupport(module)) { return null; } @@ -386,7 +403,7 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id if (descriptor instanceof AbstractFolderNode) { final AbstractFolderNode folderNode = (AbstractFolderNode)descriptor; final VirtualFile dir = folderNode.getVirtualFile(); - if (dir != null && VfsUtil.isAncestor(dir, file, false)) { + if (dir != null && VfsUtilCore.isAncestor(dir, file, false)) { cur = folderNode; result.add(folderNode); if (dir.equals(file)) { @@ -506,6 +523,7 @@ public class MvcProjectViewPane extends AbstractProjectViewPSIPane implements Id return myViewState.hideEmptyMiddlePackages; } + @Override public void setSelected(AnActionEvent event, boolean flag) { myViewState.hideEmptyMiddlePackages = flag; TreeUtil.collapseAll(myTree, 1); diff --git a/xml/relaxng/src/org/intellij/plugins/relaxNG/references/FileReferenceUtil.java b/xml/relaxng/src/org/intellij/plugins/relaxNG/references/FileReferenceUtil.java index 13ca07e55c3f..a5295ed4e32d 100644 --- a/xml/relaxng/src/org/intellij/plugins/relaxNG/references/FileReferenceUtil.java +++ b/xml/relaxng/src/org/intellij/plugins/relaxNG/references/FileReferenceUtil.java @@ -44,6 +44,7 @@ public class FileReferenceUtil { final FileReference[] references = set.getAllReferences(); return ContainerUtil.map2Array(references, PsiReference.class, new NotNullFunction() { + @Override @NotNull public PsiReference fun(FileReference fileReference) { return new MyFileReference(fileReference, cond, soft); @@ -66,6 +67,7 @@ public class FileReferenceUtil { myType = type; } + @Override public boolean value(PsiFile file) { return file.getFileType() == myType; } @@ -78,6 +80,7 @@ public class FileReferenceUtil { myPattern = pattern; } + @Override public boolean value(PsiFile o) { return myPattern.accepts(o); } @@ -113,6 +116,7 @@ public class FileReferenceUtil { protected ResolveResult[] innerResolve() { final ResolveResult[] results = super.innerResolve(); return ContainerUtil.findAll(results, new Condition() { + @Override public boolean value(ResolveResult resolveResult) { final PsiElement e = resolveResult.getElement(); return match(e, myCond); @@ -125,6 +129,7 @@ public class FileReferenceUtil { public Object[] getVariants() { final Object[] variants = super.getVariants(); return ContainerUtil.findAll(variants, new Condition() { + @Override public boolean value(Object o) { /*if (o instanceof CandidateInfo) { o = ((CandidateInfo)o).getElement();