diff --git a/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/SimpleSurroundDescriptor.java b/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/SimpleSurroundDescriptor.java index 94e35dcc0f19..704ffde1944c 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/SimpleSurroundDescriptor.java +++ b/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/SimpleSurroundDescriptor.java @@ -19,6 +19,7 @@ import com.intellij.lang.surroundWith.SurroundDescriptor; import com.intellij.lang.surroundWith.Surrounder; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -77,7 +78,7 @@ public class SimpleSurroundDescriptor implements SurroundDescriptor { } if (startOffset == endOffset && atoms.size() > 0) { - final PsiElement[] elements = atoms.toArray(new PsiElement[atoms.size()]); + final PsiElement[] elements = PsiUtilBase.toPsiElementArray(atoms); if ((atoms.size() == 1 || PsiTreeUtil.findCommonParent(elements) == elements[0].getParent())) { return elements; } diff --git a/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java b/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java index a855400c309b..919e4c88ee19 100644 --- a/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java +++ b/images/src/org/intellij/images/thumbnail/impl/ThumbnailViewUI.java @@ -32,6 +32,7 @@ import com.intellij.pom.Navigatable; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.components.JBList; import org.intellij.images.fileTypes.ImageFileTypeManager; @@ -467,7 +468,7 @@ final class ThumbnailViewUI extends JPanel implements DataProvider, Disposable { psiElements.add(element); } } - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } @NotNull diff --git a/java/java-impl/src/com/intellij/codeInsight/CodeInsightUtil.java b/java/java-impl/src/com/intellij/codeInsight/CodeInsightUtil.java index 380acf25d810..1ef060f35e59 100644 --- a/java/java-impl/src/com/intellij/codeInsight/CodeInsightUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/CodeInsightUtil.java @@ -33,6 +33,7 @@ import com.intellij.psi.search.searches.ClassInheritorsSearch; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.util.TypeConversionUtil; import com.intellij.psi.util.proximity.PsiProximityComparator; import com.intellij.refactoring.util.RefactoringUtil; @@ -147,7 +148,7 @@ public class CodeInsightUtil { } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } @Nullable diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AccessStaticViaInstanceFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AccessStaticViaInstanceFix.java index c0ee169d882d..93811cb51981 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AccessStaticViaInstanceFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AccessStaticViaInstanceFix.java @@ -34,6 +34,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; @@ -100,7 +101,8 @@ public class AccessStaticViaInstanceFix implements LocalQuickFix { if (hasSideEffects && !ApplicationManager.getApplication().isUnitTestMode()) { final TextAttributes attributes = EditorColorsManager.getInstance().getGlobalScheme().getAttributes(EditorColors.SEARCH_RESULT_ATTRIBUTES); final Editor editor = PlatformDataKeys.EDITOR.getData(DataManager.getInstance().getDataContext()); - HighlightManager.getInstance(project).addOccurrenceHighlights(editor, sideEffects.toArray(new PsiElement[sideEffects.size()]), attributes, true, null); + HighlightManager.getInstance(project).addOccurrenceHighlights(editor, PsiUtilBase.toPsiElementArray(sideEffects), attributes, true, + null); try { hasSideEffects = PsiUtil.isStatement(factory.createStatementFromText(qualifierExpression.getText(), qualifierExpression)); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveUnusedVariableFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveUnusedVariableFix.java index cf9505c1b85c..c93be0bc78c0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveUnusedVariableFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveUnusedVariableFix.java @@ -29,6 +29,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import gnu.trove.THashSet; import org.jetbrains.annotations.NonNls; @@ -133,7 +134,7 @@ public class RemoveUnusedVariableFix implements IntentionAction { } Project project = editor.getProject(); HighlightManager highlightManager = HighlightManager.getInstance(project); - PsiElement[] elements = sideEffects.toArray(new PsiElement[sideEffects.size()]); + PsiElement[] elements = PsiUtilBase.toPsiElementArray(sideEffects); EditorColorsManager manager = EditorColorsManager.getInstance(); TextAttributes attributes = manager.getGlobalScheme().getAttributes(EditorColors.SEARCH_RESULT_ATTRIBUTES); highlightManager.addOccurrenceHighlights(editor, elements, attributes, true, null); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java index 3bd79c705e86..2c61eca6ebb9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java @@ -38,6 +38,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.psi.scope.BaseScopeProcessor; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -158,7 +159,7 @@ public class RenameWrongRefFix implements IntentionAction { } public PsiElement[] getVariants () { - return myResult.toArray(new PsiElement[myResult.size()]); + return PsiUtilBase.toPsiElementArray(myResult); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/surroundWith/SurroundWithUtil.java b/java/java-impl/src/com/intellij/codeInsight/generation/surroundWith/SurroundWithUtil.java index a8893b005ad1..6cd8fb574524 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/surroundWith/SurroundWithUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/generation/surroundWith/SurroundWithUtil.java @@ -23,6 +23,7 @@ import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTypesUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import java.util.ArrayList; @@ -81,7 +82,7 @@ public class SurroundWithUtil { } array.add(statement); } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } catch(IncorrectOperationException e){ LOG.error(e); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CopyAbstractMethodImplementationHandler.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CopyAbstractMethodImplementationHandler.java index b61c9860fac3..8202e276afd2 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CopyAbstractMethodImplementationHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CopyAbstractMethodImplementationHandler.java @@ -34,6 +34,7 @@ import com.intellij.openapi.ui.popup.PopupChooserBuilder; import com.intellij.openapi.util.Comparing; import com.intellij.psi.*; import com.intellij.psi.search.searches.ClassInheritorsSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.util.TypeConversionUtil; import com.intellij.ui.components.JBList; import com.intellij.util.IncorrectOperationException; @@ -199,7 +200,7 @@ public class CopyAbstractMethodImplementationHandler { for(PsiClass psiClass: myTargetClasses) { fileList.add(psiClass.getContainingFile()); } - return fileList.toArray(new PsiFile[fileList.size()]); + return PsiUtilBase.toPsiFileArray(fileList); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ImplementAbstractMethodHandler.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ImplementAbstractMethodHandler.java index bad6da162cee..3c305c4df008 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ImplementAbstractMethodHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ImplementAbstractMethodHandler.java @@ -42,6 +42,7 @@ import com.intellij.openapi.ui.ex.MessagesEx; import com.intellij.openapi.ui.popup.PopupChooserBuilder; import com.intellij.psi.*; import com.intellij.psi.search.searches.ClassInheritorsSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.components.JBList; import com.intellij.util.IncorrectOperationException; @@ -90,7 +91,7 @@ public class ImplementAbstractMethodHandler { } } } - result[0] = enumConstants.toArray(new PsiElement[enumConstants.size()]); + result[0] = PsiUtilBase.toPsiElementArray(enumConstants); } } }, CodeInsightBundle.message("intention.implement.abstract.method.searching.for.descendants.progress"), true, myProject); diff --git a/java/java-impl/src/com/intellij/codeInsight/template/macro/IterableVariableMacro.java b/java/java-impl/src/com/intellij/codeInsight/template/macro/IterableVariableMacro.java index 8c3b884e0619..58dbf2f15007 100644 --- a/java/java-impl/src/com/intellij/codeInsight/template/macro/IterableVariableMacro.java +++ b/java/java-impl/src/com/intellij/codeInsight/template/macro/IterableVariableMacro.java @@ -23,6 +23,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Nullable; @@ -82,6 +83,6 @@ public class IterableVariableMacro extends VariableTypeMacroBase { } } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/template/macro/SuggestFirstVariableNameMacro.java b/java/java-impl/src/com/intellij/codeInsight/template/macro/SuggestFirstVariableNameMacro.java index 297b856576a1..b8c1fbd5c548 100644 --- a/java/java-impl/src/com/intellij/codeInsight/template/macro/SuggestFirstVariableNameMacro.java +++ b/java/java-impl/src/com/intellij/codeInsight/template/macro/SuggestFirstVariableNameMacro.java @@ -19,6 +19,7 @@ import com.intellij.codeInsight.CodeInsightBundle; import com.intellij.codeInsight.template.Expression; import com.intellij.codeInsight.template.ExpressionContext; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiUtilBase; import java.util.ArrayList; import java.util.Arrays; @@ -53,7 +54,7 @@ public class SuggestFirstVariableNameMacro extends VariableOfTypeMacro { result.add(variable); } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/template/macro/VariableOfTypeMacro.java b/java/java-impl/src/com/intellij/codeInsight/template/macro/VariableOfTypeMacro.java index 2bc18a0c527b..e822b6313741 100644 --- a/java/java-impl/src/com/intellij/codeInsight/template/macro/VariableOfTypeMacro.java +++ b/java/java-impl/src/com/intellij/codeInsight/template/macro/VariableOfTypeMacro.java @@ -23,6 +23,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -104,7 +105,7 @@ public class VariableOfTypeMacro implements Macro { PsiExpression[] expressions = MacroUtil.getStandardExpressionsOfType(place, type); ContainerUtil.addAll(array, expressions); - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } } diff --git a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java index 86e333be85e0..702771906c5b 100644 --- a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspection.java @@ -59,6 +59,7 @@ import com.intellij.psi.search.PsiNonJavaFileReferenceProcessor; import com.intellij.psi.search.PsiSearchHelper; import com.intellij.psi.util.PsiMethodUtil; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.safeDelete.SafeDeleteHandler; import com.intellij.ui.SeparatorFactory; import com.intellij.util.IncorrectOperationException; @@ -762,7 +763,7 @@ public class UnusedDeclarationInspection extends FilteringInspectionTool { ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { final Project project = getContext().getProject(); - SafeDeleteHandler.invoke(project, psiElements.toArray(new PsiElement[psiElements.size()]), false, new Runnable(){ + SafeDeleteHandler.invoke(project, PsiUtilBase.toPsiElementArray(psiElements), false, new Runnable() { public void run() { removeElements(refElements, project, UnusedDeclarationInspection.this); } diff --git a/java/java-impl/src/com/intellij/codeInspection/emptyMethod/EmptyMethodInspection.java b/java/java-impl/src/com/intellij/codeInspection/emptyMethod/EmptyMethodInspection.java index 1e8bec0b4067..9a9f1a73f749 100644 --- a/java/java-impl/src/com/intellij/codeInspection/emptyMethod/EmptyMethodInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/emptyMethod/EmptyMethodInspection.java @@ -33,6 +33,7 @@ import com.intellij.openapi.util.*; import com.intellij.psi.*; import com.intellij.psi.search.searches.AllOverridingMethodsSearch; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.safeDelete.SafeDeleteHandler; import com.intellij.util.Processor; import com.intellij.util.Query; @@ -314,7 +315,7 @@ public class EmptyMethodInspection extends GlobalJavaInspectionTool { ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { - SafeDeleteHandler.invoke(project, psiElements.toArray(new PsiElement[psiElements.size()]), false); + SafeDeleteHandler.invoke(project, PsiUtilBase.toPsiElementArray(psiElements), false); } }); } @@ -350,9 +351,10 @@ public class EmptyMethodInspection extends GlobalJavaInspectionTool { ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { - SafeDeleteHandler.invoke(project, psiElements.toArray(new PsiElement[psiElements.size()]), false, new Runnable() { + SafeDeleteHandler.invoke(project, PsiUtilBase.toPsiElementArray(psiElements), false, new Runnable() { public void run() { - QuickFixAction.removeElements(refElements.toArray(new RefElement[refElements.size()]), project, (InspectionTool)myProcessor); + QuickFixAction + .removeElements(refElements.toArray(new RefElement[refElements.size()]), project, (InspectionTool)myProcessor); } }); } diff --git a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java index 61935766ea7e..ac8ce9e62a65 100644 --- a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java +++ b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java @@ -48,6 +48,7 @@ import com.intellij.psi.targets.AliasingPsiTargetMapper; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.PropertyUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.refactoring.util.JavaNonCodeSearchElementDescriptionProvider; import com.intellij.refactoring.util.NonCodeSearchDescriptionLocation; @@ -189,7 +190,7 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{ for (PsiMethod accessor : accessors) { ContainerUtil.addAll(elements, SuperMethodWarningUtil.checkSuperMethods(accessor, ACTION_STRING)); } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } } } diff --git a/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java b/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java index da3018d5abea..e07528c38d05 100644 --- a/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java +++ b/java/java-impl/src/com/intellij/ide/projectView/impl/PackageViewPane.java @@ -48,6 +48,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiPackage; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -322,7 +323,7 @@ public final class PackageViewPane extends AbstractProjectViewPSIPane { for (PsiElement psiElement : allElements) { if (psiElement != null && psiElement.isValid()) validElements.add(psiElement); } - final PsiElement[] elements = validElements.toArray(new PsiElement[validElements.size()]); + final PsiElement[] elements = PsiUtilBase.toPsiElementArray(validElements); LocalHistoryAction a = LocalHistory.getInstance().startAction(IdeBundle.message("progress.deleting")); try { diff --git a/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java b/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java index 4fe8df3feefa..086870906356 100644 --- a/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java +++ b/java/java-impl/src/com/intellij/ide/util/scopeChooser/ClassHierarchyScopeDescriptor.java @@ -30,6 +30,7 @@ import com.intellij.psi.presentation.java.ClassPresentationUtil; import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.searches.ClassInheritorsSearch; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.Nullable; import java.util.LinkedList; @@ -63,7 +64,7 @@ public class ClassHierarchyScopeDescriptor extends ScopeDescriptor { classesToSearch.addAll(ClassInheritorsSearch.search(aClass, aClass.getUseScope(), true).findAll()); - myCachedScope = new LocalSearchScope(classesToSearch.toArray(new PsiElement[classesToSearch.size()]), + myCachedScope = new LocalSearchScope(PsiUtilBase.toPsiElementArray(classesToSearch), IdeBundle.message("scope.hierarchy", ClassPresentationUtil.getNameForClass(aClass, true))); } diff --git a/java/java-impl/src/com/intellij/internal/GenerateVisitorByHierarchyAction.java b/java/java-impl/src/com/intellij/internal/GenerateVisitorByHierarchyAction.java index dacaa4290c76..e3354cb78d73 100644 --- a/java/java-impl/src/com/intellij/internal/GenerateVisitorByHierarchyAction.java +++ b/java/java-impl/src/com/intellij/internal/GenerateVisitorByHierarchyAction.java @@ -42,6 +42,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PackageScope; import com.intellij.psi.search.searches.ClassInheritorsSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.DocumentAdapter; import com.intellij.ui.EditorTextField; import com.intellij.util.IncorrectOperationException; @@ -209,7 +210,7 @@ public class GenerateVisitorByHierarchyAction extends AnAction { if (visitorClass != null) { psiFiles.add(visitorClass.getContainingFile()); } - new WriteCommandAction(project, psiFiles.toArray(new PsiFile[psiFiles.size()])) { + new WriteCommandAction(project, PsiUtilBase.toPsiFileArray(psiFiles)) { protected void run(final Result result) throws Throwable { if (visitorClass == null) { final String shortClassName = PsiNameHelper.getShortClassName(visitorName); diff --git a/java/java-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java b/java/java-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java index fb05c91b2d72..fb0190f78c80 100644 --- a/java/java-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java +++ b/java/java-impl/src/com/intellij/psi/controlFlow/DefUseUtil.java @@ -29,6 +29,7 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.containers.IntArrayList; import com.intellij.util.containers.Queue; import gnu.trove.THashSet; @@ -430,7 +431,7 @@ public class DefUseUtil { } } new Inner ().traverse (elem); - return res.toArray(new PsiElement[res.size ()]); + return PsiUtilBase.toPsiElementArray(res); } return PsiElement.EMPTY_ARRAY; } diff --git a/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java index 1b1a5ba0efad..7d3b9785b189 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/PsiJavaFileBaseImpl.java @@ -139,7 +139,7 @@ public abstract class PsiJavaFileBaseImpl extends PsiFileImpl implements PsiJava } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } @NotNull diff --git a/java/java-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java index a061625051c5..afa63615d212 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/javadoc/PsiDocCommentImpl.java @@ -29,6 +29,7 @@ import com.intellij.psi.javadoc.PsiDocTag; import com.intellij.psi.tree.ChildRoleBase; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.CharTable; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; @@ -76,7 +77,7 @@ public class PsiDocCommentImpl extends LazyParseablePsiElement implements PsiDoc array.add(child.getPsi()); } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } @NotNull diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/injected/JavaConcatenationInjectorManager.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/injected/JavaConcatenationInjectorManager.java index 6ad5422fc2cf..ca0416a603e1 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/injected/JavaConcatenationInjectorManager.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/injected/JavaConcatenationInjectorManager.java @@ -88,7 +88,7 @@ public class JavaConcatenationInjectorManager implements ModificationTracker { if (element instanceof PsiBinaryExpression || element instanceof PsiAssignmentExpression) { List operandList = new ArrayList(); collectOperands(element, operandList); - operands = operandList.toArray(new PsiElement[operandList.size()]); + operands = PsiUtilBase.toPsiElementArray(operandList); anchor = element; } else { diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java index 178e328233b8..61872ff2f4c2 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiLocalVariableImpl.java @@ -37,6 +37,7 @@ import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.tree.ChildRoleBase; import com.intellij.psi.tree.IElementType; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.RowIcon; import com.intellij.util.CharTable; import com.intellij.util.Icons; @@ -299,7 +300,7 @@ public class PsiLocalVariableImpl extends CompositePsiElement implements PsiLoca } }); - return new LocalSearchScope(allIncluded.toArray(new PsiFile[allIncluded.size()])); + return new LocalSearchScope(PsiUtilBase.toPsiFileArray(allIncluded)); } } diff --git a/java/java-impl/src/com/intellij/refactoring/copy/CopyClassesHandler.java b/java/java-impl/src/com/intellij/refactoring/copy/CopyClassesHandler.java index 6d20b50af2ea..d023ce829967 100644 --- a/java/java-impl/src/com/intellij/refactoring/copy/CopyClassesHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/copy/CopyClassesHandler.java @@ -29,6 +29,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.search.searches.ReferencesSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringBundle; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; @@ -85,7 +86,8 @@ public class CopyClassesHandler implements CopyHandlerDelegate { if (className == null || className.length() == 0) return; } } else { - CopyFilesOrDirectoriesDialog dialog = new CopyFilesOrDirectoriesDialog(classes.keySet().toArray(new PsiFile[classes.size()]), defaultTargetDirectory, project, false); + CopyFilesOrDirectoriesDialog dialog = new CopyFilesOrDirectoriesDialog(PsiUtilBase.toPsiFileArray(classes.keySet()), + defaultTargetDirectory, project, false); dialog.show(); if (dialog.isOK()) { targetDirectory = dialog.getTargetDirectory(); diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java index a8dead1edfd9..4a5e3fbde661 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java @@ -55,6 +55,7 @@ import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiFormatUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.extractMethodObject.ExtractMethodObjectHandler; import com.intellij.refactoring.introduceField.ElementToWorkOn; @@ -179,7 +180,7 @@ public class ExtractMethodProcessor implements MatchProvider { } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } /** @@ -530,11 +531,14 @@ public class ExtractMethodProcessor implements MatchProvider { } } if (myExpression != null) { - myDuplicatesFinder = new DuplicatesFinder(elements.toArray(new PsiElement[elements.size()]), myInputVariables.copy(), new ArrayList()); + myDuplicatesFinder = new DuplicatesFinder(PsiUtilBase.toPsiElementArray(elements), myInputVariables.copy(), + new ArrayList()); myDuplicates = myDuplicatesFinder.findDuplicates(myTargetClass); } else if (elements.size() > 0){ - myDuplicatesFinder = new DuplicatesFinder(elements.toArray(new PsiElement[elements.size()]), myInputVariables.copy(), myOutputVariable != null ? new VariableReturnValue(myOutputVariable) : null, Arrays.asList(myOutputVariables)); + myDuplicatesFinder = new DuplicatesFinder(PsiUtilBase.toPsiElementArray(elements), myInputVariables.copy(), + myOutputVariable != null ? new VariableReturnValue(myOutputVariable) : null, + Arrays.asList(myOutputVariables)); myDuplicates = myDuplicatesFinder.findDuplicates(myTargetClass); } else { myDuplicates = new ArrayList(); diff --git a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperClassUtil.java b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperClassUtil.java index cb4b972cdb9d..498f3cb4d2f7 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperClassUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/extractSuperclass/ExtractSuperClassUtil.java @@ -23,6 +23,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.util.TypeConversionUtil; import com.intellij.refactoring.memberPullUp.PullUpHelper; import com.intellij.refactoring.util.DocCommentPolicy; @@ -164,12 +165,20 @@ public class ExtractSuperClassUtil { for (final MemberInfo info : selectedMembers) { movedElements.add(info.getMember()); } - final PsiTypeParameterList typeParameterList = RefactoringUtil.createTypeParameterListWithUsedTypeParameters(null, new Condition() { - @Override - public boolean value(PsiTypeParameter parameter) { - return findTypeParameterInDerived(derivedClass, parameter.getName()) != null; - } - }, movedElements.toArray(new PsiElement[movedElements.size()])); + final PsiTypeParameterList typeParameterList = RefactoringUtil.createTypeParameterListWithUsedTypeParameters(null, + new Condition() { + @Override + public boolean value( + PsiTypeParameter parameter) { + return + findTypeParameterInDerived( + derivedClass, + parameter + .getName()) != + null; + } + }, PsiUtilBase + .toPsiElementArray(movedElements)); final PsiTypeParameterList originalTypeParameterList = superClass.getTypeParameterList(); assert originalTypeParameterList != null; final PsiTypeParameterList newList = typeParameterList != null ? (PsiTypeParameterList)originalTypeParameterList.replace(typeParameterList) : originalTypeParameterList; diff --git a/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractEnumProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractEnumProcessor.java index b067455a0979..4c0e21603cb4 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractEnumProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractclass/ExtractEnumProcessor.java @@ -27,6 +27,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PropertyUtil; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.extractclass.usageInfo.ReplaceStaticVariableAccess; import com.intellij.refactoring.psi.MutationUtils; import com.intellij.refactoring.typeMigration.TypeMigrationProcessor; @@ -151,7 +152,7 @@ public class ExtractEnumProcessor { rules.setMigrationRootType( JavaPsiFacade.getElementFactory(myProject).createType(myClass)); rules.setBoundScope(GlobalSearchScope.projectScope(myProject)); - myTypeMigrationProcessor = new TypeMigrationProcessor(myProject, myEnumConstants.toArray(new PsiElement[myEnumConstants.size()]), rules); + myTypeMigrationProcessor = new TypeMigrationProcessor(myProject, PsiUtilBase.toPsiElementArray(myEnumConstants), rules); for (UsageInfo usageInfo : myTypeMigrationProcessor.findUsages()) { final PsiElement migrateElement = usageInfo.getElement(); if (migrateElement instanceof PsiField) { diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineLocalHandler.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineLocalHandler.java index 2f73850b043b..037672f39297 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineLocalHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineLocalHandler.java @@ -35,6 +35,7 @@ import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.util.CommonRefactoringUtil; @@ -128,7 +129,7 @@ public class InlineLocalHandler extends JavaInlineActionHandler { CommonRefactoringUtil.showErrorHint(project, editor, message, REFACTORING_NAME, HelpID.INLINE_VARIABLE); return; } - final PsiElement[] refsToInline = refsToInlineList.toArray(new PsiElement[refsToInlineList.size()]); + final PsiElement[] refsToInline = PsiUtilBase.toPsiElementArray(refsToInlineList); EditorColorsManager manager = EditorColorsManager.getInstance(); final TextAttributes attributes = manager.getGlobalScheme().getAttributes(EditorColors.SEARCH_RESULT_ATTRIBUTES); diff --git a/java/java-impl/src/com/intellij/refactoring/inline/InlineParameterHandler.java b/java/java-impl/src/com/intellij/refactoring/inline/InlineParameterHandler.java index ad4847db34a9..b8631b4fb909 100644 --- a/java/java-impl/src/com/intellij/refactoring/inline/InlineParameterHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/inline/InlineParameterHandler.java @@ -31,6 +31,7 @@ import com.intellij.psi.search.searches.OverridingMethodsSearch; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.util.CommonRefactoringUtil; @@ -209,7 +210,7 @@ public class InlineParameterHandler extends JavaInlineActionHandler { new WriteCommandAction(project, RefactoringBundle.message("inline.parameter.command.name", psiParameter.getName()), - containingFiles.toArray(new PsiFile[containingFiles.size()]) ) { + PsiUtilBase.toPsiFileArray(containingFiles)) { protected void run(final Result result) throws Throwable { SameParameterValueInspection.InlineParameterValueFix.inlineSameParameterValue(method, psiParameter, constantExpression); } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java b/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java index a443a6e461b4..f203196b8d56 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/BaseExpressionToFieldHandler.java @@ -50,6 +50,7 @@ import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.IntroduceHandlerBase; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle; @@ -284,7 +285,7 @@ public abstract class BaseExpressionToFieldHandler extends IntroduceHandlerBase if (editor != null) { if (!ApplicationManager.getApplication().isUnitTestMode()) { - PsiElement[] exprsToHighlight = array.toArray(new PsiElement[array.size()]); + PsiElement[] exprsToHighlight = PsiUtilBase.toPsiElementArray(array); HighlightManager highlightManager = HighlightManager.getInstance(project); highlightManager.addOccurrenceHighlights(editor, exprsToHighlight, highlightAttributes(), true, null); WindowManager.getInstance().getStatusBar(project).setInfo(RefactoringBundle.message("press.escape.to.remove.the.highlighting")); diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java index 13be44b55ce4..96fe8ea9e44a 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/IntroduceVariableBase.java @@ -53,6 +53,7 @@ import com.intellij.psi.impl.source.tree.java.ReplaceExpressionUtil; import com.intellij.psi.util.PsiExpressionTrimRenderer; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.*; import com.intellij.refactoring.introduceField.ElementToWorkOn; import com.intellij.refactoring.rename.inplace.VariableInplaceRenamer; @@ -599,7 +600,7 @@ public abstract class IntroduceVariableBase extends IntroduceHandlerBase impleme } if (editor != null) { - final PsiElement[] replacedOccurences = array.toArray(new PsiElement[array.size()]); + final PsiElement[] replacedOccurences = PsiUtilBase.toPsiElementArray(array); highlightReplacedOccurences(project, editor, replacedOccurences); } } else { diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassToInnerProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassToInnerProcessor.java index 371409623bdd..2ffcd8d6df01 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassToInnerProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassToInnerProcessor.java @@ -30,6 +30,7 @@ import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiElementFilter; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.PackageWrapper; import com.intellij.refactoring.RefactoringBundle; @@ -185,7 +186,7 @@ public class MoveClassToInnerProcessor extends BaseRefactoringProcessor { elementsToMakeWritable.add(element); } } - if (!CommonRefactoringUtil.checkReadOnlyStatus(myProject, elementsToMakeWritable.toArray(new PsiElement[elementsToMakeWritable.size()]))) { + if (!CommonRefactoringUtil.checkReadOnlyStatus(myProject, PsiUtilBase.toPsiElementArray(elementsToMakeWritable))) { return false; } return true; diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java index 7b12be1a85ca..d0349e634db4 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveClassesOrPackagesProcessor.java @@ -31,6 +31,7 @@ import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.MethodSignatureUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.MoveDestination; import com.intellij.refactoring.PackageWrapper; @@ -85,7 +86,7 @@ public class MoveClassesOrPackagesProcessor extends BaseRefactoringProcessor { toMove.add(element); } } - myElementsToMove = toMove.toArray(new PsiElement[toMove.size()]); + myElementsToMove = PsiUtilBase.toPsiElementArray(toMove); Arrays.sort(myElementsToMove, new Comparator() { @Override public int compare(PsiElement o1, PsiElement o2) { diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java index e02703a10c4d..9cd7922962fb 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveClassesOrPackages/MoveDirectoryWithClassesProcessor.java @@ -29,6 +29,7 @@ import com.intellij.openapi.vfs.VfsUtil; import com.intellij.psi.*; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.listeners.RefactoringElementListener; @@ -86,7 +87,7 @@ public class MoveDirectoryWithClassesProcessor extends BaseRefactoringProcessor @Override protected UsageViewDescriptor createUsageViewDescriptor(UsageInfo[] usages) { PsiElement[] elements = new PsiElement[myFilesToMove.size()]; - final PsiFile[] classes = myFilesToMove.keySet().toArray(new PsiFile[myFilesToMove.keySet().size()]); + final PsiFile[] classes = PsiUtilBase.toPsiFileArray(myFilesToMove.keySet()); System.arraycopy(classes, 0, elements, 0, classes.length); return new MoveClassesOrPackagesViewDescriptor(elements, false, false, getTargetName()); } diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/JavaMoveFilesOrDirectoriesHandler.java b/java/java-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/JavaMoveFilesOrDirectoriesHandler.java index 922b4758acf0..91c1f33c0c21 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/JavaMoveFilesOrDirectoriesHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveFilesOrDirectories/JavaMoveFilesOrDirectoriesHandler.java @@ -21,6 +21,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.impl.file.JavaDirectoryServiceImpl; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.copy.JavaCopyFilesOrDirectoriesHandler; import com.intellij.refactoring.move.MoveCallback; import com.intellij.util.ArrayUtil; @@ -60,7 +61,7 @@ public class JavaMoveFilesOrDirectoriesHandler extends MoveFilesOrDirectoriesHan for (PsiElement sourceElement : sourceElements) { result.add(sourceElement instanceof PsiClass ? sourceElement.getContainingFile() : sourceElement); } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } @Override @@ -85,7 +86,7 @@ public class JavaMoveFilesOrDirectoriesHandler extends MoveFilesOrDirectoriesHan adjustedElements.add(element); } } - result.setResult(adjustedElements.toArray(new PsiElement[adjustedElements.size()])); + result.setResult(PsiUtilBase.toPsiElementArray(adjustedElements)); } }.execute().getResultObject(); } diff --git a/java/java-impl/src/com/intellij/refactoring/move/moveMembers/MoveMembersProcessor.java b/java/java-impl/src/com/intellij/refactoring/move/moveMembers/MoveMembersProcessor.java index 3fd190737da0..013d4b5fa3b7 100644 --- a/java/java-impl/src/com/intellij/refactoring/move/moveMembers/MoveMembersProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/move/moveMembers/MoveMembersProcessor.java @@ -31,6 +31,7 @@ import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.MethodSignatureUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringBundle; @@ -108,7 +109,7 @@ public class MoveMembersProcessor extends BaseRefactoringProcessor { } protected UsageViewDescriptor createUsageViewDescriptor(UsageInfo[] usages) { - return new MoveMemberViewDescriptor(myMembersToMove.toArray(new PsiElement[myMembersToMove.size()])); + return new MoveMemberViewDescriptor(PsiUtilBase.toPsiElementArray(myMembersToMove)); } @NotNull diff --git a/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java b/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java index 5bbcd0796ac3..ed8b050b2284 100644 --- a/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/typeMigration/TypeMigrationProcessor.java @@ -8,6 +8,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.ToolWindowId; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.typeMigration.ui.FailedConversionsDialog; import com.intellij.refactoring.typeMigration.ui.MigrationPanel; @@ -62,7 +63,7 @@ public class TypeMigrationProcessor extends BaseRefactoringProcessor { result.add(element); } } - RefactoringUtil.highlightAllOccurences(project, result.toArray(new PsiElement[result.size()]), editor); + RefactoringUtil.highlightAllOccurences(project, PsiUtilBase.toPsiElementArray(result), editor); } }); } diff --git a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java index fb1f1494d5ed..6417859128ec 100644 --- a/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java +++ b/java/java-impl/src/com/intellij/refactoring/util/duplicates/DuplicatesFinder.java @@ -25,10 +25,7 @@ import com.intellij.psi.*; import com.intellij.psi.controlFlow.*; import com.intellij.psi.impl.source.PsiImmediateClassType; import com.intellij.psi.tree.IElementType; -import com.intellij.psi.util.InheritanceUtil; -import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.util.PsiUtil; -import com.intellij.psi.util.TypeConversionUtil; +import com.intellij.psi.util.*; import com.intellij.refactoring.extractMethod.InputVariables; import com.intellij.refactoring.util.RefactoringUtil; import com.intellij.util.ArrayUtil; @@ -624,7 +621,7 @@ public class DuplicatesFinder { array.add(child); } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } } diff --git a/platform/lang-api/src/com/intellij/codeInsight/PsiEquivalenceUtil.java b/platform/lang-api/src/com/intellij/codeInsight/PsiEquivalenceUtil.java index 4327565e3663..20ac1c0e1c37 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/PsiEquivalenceUtil.java +++ b/platform/lang-api/src/com/intellij/codeInsight/PsiEquivalenceUtil.java @@ -25,6 +25,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; import com.intellij.psi.PsiWhiteSpace; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.PairConsumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -89,7 +90,7 @@ public class PsiEquivalenceUtil { array.add(child); } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } public static void findChildRangeDuplicates(PsiElement first, PsiElement last, diff --git a/platform/lang-api/src/com/intellij/ide/actions/ElementCreator.java b/platform/lang-api/src/com/intellij/ide/actions/ElementCreator.java index 051da502f2ea..39031a7f2fda 100644 --- a/platform/lang-api/src/com/intellij/ide/actions/ElementCreator.java +++ b/platform/lang-api/src/com/intellij/ide/actions/ElementCreator.java @@ -29,6 +29,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.psi.PsiElement; import com.intellij.psi.SmartPointerManager; import com.intellij.psi.SmartPsiElementPointer; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import com.intellij.util.SmartList; import com.intellij.util.containers.ContainerUtil; @@ -113,6 +114,6 @@ public abstract class ElementCreator { for (final SmartPsiElementPointer pointer : myCreatedElements[0]) { ContainerUtil.addIfNotNull(pointer.getElement(), result); } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java b/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java index cc2a7f3e9325..a679ee1748fb 100644 --- a/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java +++ b/platform/lang-api/src/com/intellij/psi/search/GlobalSearchScope.java @@ -30,6 +30,7 @@ import com.intellij.psi.search.scope.packageSet.NamedScope; import com.intellij.psi.search.scope.packageSet.NamedScopeManager; import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; import com.intellij.psi.search.scope.packageSet.PackageSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -111,7 +112,7 @@ public abstract class GlobalSearchScope extends SearchScope implements ProjectAw result.add(element2); } } - return new LocalSearchScope(result.toArray(new PsiElement[result.size()]), null, localScope2.isIgnoreInjectedPsi()); + return new LocalSearchScope(PsiUtilBase.toPsiElementArray(result), null, localScope2.isIgnoreInjectedPsi()); } @NotNull diff --git a/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java b/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java index 07b20d5cff78..b81baccfb3e1 100644 --- a/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java +++ b/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java @@ -21,6 +21,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -70,7 +71,7 @@ public class LocalSearchScope extends SearchScope { localScope.add(element); } } - myScope = localScope.toArray(new PsiElement[localScope.size()]); + myScope = PsiUtilBase.toPsiElementArray(localScope); } public boolean isIgnoreInjectedPsi() { @@ -130,7 +131,7 @@ public class LocalSearchScope extends SearchScope { } } } - return new LocalSearchScope(result.toArray(new PsiElement [result.size()]), null, scope1.myIgnoreInjectedPsi || scope2.myIgnoreInjectedPsi); + return new LocalSearchScope(PsiUtilBase.toPsiElementArray(result), null, scope1.myIgnoreInjectedPsi || scope2.myIgnoreInjectedPsi); } @NotNull @@ -195,7 +196,7 @@ public class LocalSearchScope extends SearchScope { result.add(elements2[i]); } } - return new LocalSearchScope(result.toArray(new PsiElement[result.size()])); + return new LocalSearchScope(PsiUtilBase.toPsiElementArray(result)); } private static PsiElement scopeElementsUnion(PsiElement element1, PsiElement element2) { diff --git a/platform/lang-api/src/com/intellij/psi/search/PsiElementProcessor.java b/platform/lang-api/src/com/intellij/psi/search/PsiElementProcessor.java index 8541a3edd5ef..22cf2c22cdfc 100644 --- a/platform/lang-api/src/com/intellij/psi/search/PsiElementProcessor.java +++ b/platform/lang-api/src/com/intellij/psi/search/PsiElementProcessor.java @@ -17,6 +17,7 @@ package com.intellij.psi.search; import com.intellij.psi.PsiElement; import com.intellij.psi.util.PsiElementFilter; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -49,7 +50,7 @@ public interface PsiElementProcessor { } public PsiElement[] toArray() { - return myCollection.toArray(new PsiElement[myCollection.size()]); + return PsiUtilBase.toPsiElementArray(myCollection); } public Collection getCollection() { diff --git a/platform/lang-api/src/com/intellij/psi/util/PsiTreeUtil.java b/platform/lang-api/src/com/intellij/psi/util/PsiTreeUtil.java index 4e564a232413..92a835d850a4 100644 --- a/platform/lang-api/src/com/intellij/psi/util/PsiTreeUtil.java +++ b/platform/lang-api/src/com/intellij/psi/util/PsiTreeUtil.java @@ -800,7 +800,7 @@ public class PsiTreeUtil { } } - return filteredElements.toArray(new PsiElement[filteredElements.size()]); + return PsiUtilBase.toPsiElementArray(filteredElements); } public static boolean treeWalkUp(@NotNull final PsiScopeProcessor processor, 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 57df6c9430e7..9f1286f88f77 100644 --- a/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java +++ b/platform/lang-api/src/com/intellij/psi/util/PsiUtilBase.java @@ -49,6 +49,7 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; +import java.util.Collection; public class PsiUtilBase { public static final PsiElement NULL_PSI_ELEMENT = new PsiElement() { @@ -616,4 +617,15 @@ public class PsiUtilBase { } return null; } + + @NotNull + public static PsiElement[] toPsiElementArray(@NotNull Collection collection) { + if (collection.isEmpty()) return PsiElement.EMPTY_ARRAY; + return collection.toArray(new PsiElement[collection.size()]); + } + @NotNull + public static PsiFile[] toPsiFileArray(@NotNull Collection collection) { + if (collection.isEmpty()) return PsiFile.EMPTY_ARRAY; + return collection.toArray(new PsiFile[collection.size()]); + } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java index 115bf2933107..56551a902d10 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/AbstractLayoutCodeProcessor.java @@ -38,6 +38,7 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.ex.MessagesEx; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -119,7 +120,7 @@ public abstract class AbstractLayoutCodeProcessor { list.add(file); } } - return list.toArray(new PsiFile[list.size()]); + return PsiUtilBase.toPsiFileArray(list); } @NotNull diff --git a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java index 17e949ebffe7..d79f7b9e89bc 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/actions/ReformatCodeAction.java @@ -38,6 +38,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.IdeFrame; import com.intellij.openapi.wm.ex.WindowManagerEx; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -203,7 +204,7 @@ public class ReformatCodeAction extends AnAction implements DumbAware { final PsiFile psiFile = manager.findFile(virtualFile); if (psiFile != null) result.add(psiFile); } - return result.toArray(new PsiFile[result.size()]); + return PsiUtilBase.toPsiFileArray(result); } public void update(AnActionEvent event){ diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightUsagesHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightUsagesHandler.java index c8aa1a429243..a551c29d48fe 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightUsagesHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightUsagesHandler.java @@ -210,7 +210,7 @@ public class HighlightUsagesHandler extends HighlightHandlerBase { EditorColorsManager manager = EditorColorsManager.getInstance(); TextAttributes attributes = manager.getGlobalScheme().getAttributes(EditorColors.SEARCH_RESULT_ATTRIBUTES); - PsiElement[] elements = otherOccurrences.toArray(new PsiElement[otherOccurrences.size()]); + PsiElement[] elements = PsiUtilBase.toPsiElementArray(otherOccurrences); doHighlightElements(editor, elements, attributes, clearHighlights); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java index 90cf837547c9..463213e83466 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/ImplementationViewComponent.java @@ -43,6 +43,7 @@ import com.intellij.psi.PsiBinaryFile; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.SideBorder; import com.intellij.ui.components.JBScrollPane; @@ -110,7 +111,7 @@ public class ImplementationViewComponent extends JPanel { files.add(new FileDescriptor(file)); candidates.add(element.getNavigationElement()); } - myElements = candidates.toArray(new PsiElement[candidates.size()]); + myElements = PsiUtilBase.toPsiElementArray(candidates); if (myElements.length == 0) { myToolbar = null; myEditor = null; @@ -474,6 +475,6 @@ public class ImplementationViewComponent extends JPanel { result.add(element); } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/actions/ShowImplementationsAction.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/actions/ShowImplementationsAction.java index 6a7bf26da4d6..4b3b24546944 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hint/actions/ShowImplementationsAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/actions/ShowImplementationsAction.java @@ -37,6 +37,7 @@ import com.intellij.pom.PomTargetPsiElement; import com.intellij.psi.*; import com.intellij.psi.presentation.java.SymbolPresentationUtil; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.popup.NotLookupOrSearchCondition; import com.intellij.ui.popup.PopupUpdateProcessor; import org.jetbrains.annotations.NonNls; @@ -206,7 +207,7 @@ public class ShowImplementationsAction extends AnAction { break; } } - return unique.toArray(new PsiElement[unique.size()]); + return PsiUtilBase.toPsiElementArray(unique); } }; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java index 8d0124ff6b11..e931cdcb7f90 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java @@ -135,7 +135,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code return true; } if (candidates.size() > 1) { - PsiElement[] elements = candidates.toArray(new PsiElement[candidates.size()]); + PsiElement[] elements = PsiUtilBase.toPsiElementArray(candidates); final TextRange range = reference.getRangeInElement(); final String refText = range.substring(reference.getElement().getText()); String title = MessageFormat.format(titlePattern, refText); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java index 5acc43d06dcc..2afa54288314 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoTypeDeclarationAction.java @@ -32,6 +32,7 @@ import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -127,7 +128,7 @@ public class GotoTypeDeclarationAction extends BaseCodeInsightAction implements } } - if (!types.isEmpty()) return types.toArray(new PsiElement[types.size()]); + if (!types.isEmpty()) return PsiUtilBase.toPsiElementArray(types); } return null; diff --git a/platform/lang-impl/src/com/intellij/codeInspection/offlineViewer/OfflineProblemDescriptorNode.java b/platform/lang-impl/src/com/intellij/codeInspection/offlineViewer/OfflineProblemDescriptorNode.java index 55fb924ec605..cf262017901a 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/offlineViewer/OfflineProblemDescriptorNode.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/offlineViewer/OfflineProblemDescriptorNode.java @@ -33,6 +33,7 @@ import com.intellij.codeInspection.reference.RefEntity; import com.intellij.codeInspection.ui.ProblemDescriptionNode; import com.intellij.lang.Language; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; @@ -56,7 +57,7 @@ public class OfflineProblemDescriptorNode extends ProblemDescriptionNode { result.addAll(CollectHighlightsUtil.getElementsInRange(psiRoot, startOffset, endOffset, true)); } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionResultsView.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionResultsView.java index 373e3371e086..c0008e364fb1 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionResultsView.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionResultsView.java @@ -54,6 +54,7 @@ import com.intellij.pom.Navigatable; import com.intellij.profile.codeInspection.InspectionProjectProfileManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.PopupHandler; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.SmartExpander; @@ -667,7 +668,7 @@ public class InspectionResultsView extends JPanel implements Disposable, Occuren } } - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } private void popupInvoked(Component component, int x, int y) { diff --git a/platform/lang-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java b/platform/lang-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java index be77b9bd0319..10b1badd92c8 100644 --- a/platform/lang-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java +++ b/platform/lang-impl/src/com/intellij/extapi/psi/ASTDelegatePsiElement.java @@ -37,6 +37,7 @@ import com.intellij.psi.impl.source.tree.SharedImplUtil; import com.intellij.psi.impl.source.tree.TreeElement; import com.intellij.psi.tree.IElementType; import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; import com.intellij.util.containers.ContainerUtil; @@ -70,7 +71,7 @@ public abstract class ASTDelegatePsiElement extends PsiElementBase { } psiChild = psiChild.getNextSibling(); } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } public PsiElement getFirstChild() { diff --git a/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java b/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java index 05fece7ba711..57f760abbde8 100644 --- a/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java +++ b/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java @@ -49,6 +49,7 @@ import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.search.SearchRequestCollector; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.SearchSession; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.LightweightHint; import com.intellij.ui.content.Content; import com.intellij.usageView.UsageInfo; @@ -209,7 +210,7 @@ public class FindUsagesManager implements JDOMExternalizable { return PsiElement.EMPTY_ARRAY; } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } private void initLastSearchElement(final FindUsagesOptions findUsagesOptions, diff --git a/platform/lang-impl/src/com/intellij/ide/FileListPasteProvider.java b/platform/lang-impl/src/com/intellij/ide/FileListPasteProvider.java index 4afd0ed6af13..ce5ad626c273 100644 --- a/platform/lang-impl/src/com/intellij/ide/FileListPasteProvider.java +++ b/platform/lang-impl/src/com/intellij/ide/FileListPasteProvider.java @@ -26,6 +26,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileSystemItem; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.copy.CopyFilesOrDirectoriesHandler; import java.awt.datatransfer.DataFlavor; @@ -71,7 +72,7 @@ public class FileListPasteProvider implements PasteProvider { if (elements.size() > 0) { final PsiDirectory dir = ideView.getOrChooseDirectory(); if (dir != null) { - new CopyFilesOrDirectoriesHandler().doCopy(elements.toArray(new PsiElement[elements.size()]), dir); + new CopyFilesOrDirectoriesHandler().doCopy(PsiUtilBase.toPsiElementArray(elements), dir); } } } diff --git a/platform/lang-impl/src/com/intellij/ide/commander/CommanderPanel.java b/platform/lang-impl/src/com/intellij/ide/commander/CommanderPanel.java index 968337f2e5bc..cb9fb0228bf2 100644 --- a/platform/lang-impl/src/com/intellij/ide/commander/CommanderPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/commander/CommanderPanel.java @@ -358,7 +358,7 @@ public class CommanderPanel extends JPanel { } } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } private static Object getValueAtIndex(AbstractTreeNode node) { @@ -510,7 +510,7 @@ public class CommanderPanel extends JPanel { validElements.add(element); } } - return validElements.size() == elements.length ? elements : validElements.toArray(new PsiElement[validElements.size()]); + return validElements.size() == elements.length ? elements : PsiUtilBase.toPsiElementArray(validElements); } protected final Navigatable createEditSourceDescriptor() { diff --git a/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java index 732c70a51401..cab7602cdd45 100644 --- a/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/favoritesTreeView/FavoritesTreeViewPanel.java @@ -208,7 +208,7 @@ public class FavoritesTreeViewPanel extends JPanel implements DataProvider { } } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } public FavoritesTreeStructure getFavoritesTreeStructure() { @@ -255,7 +255,7 @@ public class FavoritesTreeViewPanel extends JPanel implements DataProvider { result.add(element); } } - return result.isEmpty() ? null : result.toArray(new PsiElement[result.size()]); + return result.isEmpty() ? null : PsiUtilBase.toPsiElementArray(result); } if (LangDataKeys.IDE_VIEW.is(dataId)) { @@ -405,7 +405,7 @@ public class FavoritesTreeViewPanel extends JPanel implements DataProvider { for (PsiElement psiElement : allElements) { if (psiElement != null && psiElement.isValid()) validElements.add(psiElement); } - final PsiElement[] elements = validElements.toArray(new PsiElement[validElements.size()]); + final PsiElement[] elements = PsiUtilBase.toPsiElementArray(validElements); LocalHistoryAction a = LocalHistory.getInstance().startAction(IdeBundle.message("progress.deleting")); try { @@ -440,7 +440,7 @@ public class FavoritesTreeViewPanel extends JPanel implements DataProvider { } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBase.java b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBase.java index 3820645fa303..f818fd372f7e 100644 --- a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBase.java +++ b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBase.java @@ -25,6 +25,7 @@ import com.intellij.openapi.ui.SimpleToolWindowPanel; import com.intellij.pom.Navigatable; import com.intellij.psi.NavigatablePsiElement; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.AutoScrollToSourceHandler; import com.intellij.ui.TreeSpeedSearch; import com.intellij.ui.content.Content; @@ -162,7 +163,7 @@ public abstract class HierarchyBrowserBase extends SimpleToolWindowPanel impleme PsiElement element = getElementFromDescriptor(descriptor); if (element != null) elements.add(element); } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } diff --git a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBaseEx.java b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBaseEx.java index a48a2290de0d..043d757b6ad2 100644 --- a/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBaseEx.java +++ b/platform/lang-impl/src/com/intellij/ide/hierarchy/HierarchyBrowserBaseEx.java @@ -42,6 +42,7 @@ import com.intellij.pom.Navigatable; import com.intellij.psi.*; import com.intellij.psi.search.scope.packageSet.NamedScope; import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.treeStructure.Tree; import com.intellij.util.Alarm; @@ -403,7 +404,7 @@ public abstract class HierarchyBrowserBaseEx extends HierarchyBrowserBase implem PsiElement element = getElementFromDescriptor(descriptor); if (element != null) elements.add(element); } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } public Object getData(final String dataId) { diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java index 56abaf12db2c..b5eba4485b24 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AbstractProjectViewPane.java @@ -48,6 +48,7 @@ import com.intellij.openapi.wm.ToolWindowId; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.pom.Navigatable; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.move.MoveHandler; import com.intellij.util.ArrayUtil; import com.intellij.util.ReflectionCache; @@ -308,7 +309,7 @@ public abstract class AbstractProjectViewPane implements DataProvider, Disposabl psiElements.add(psiElement); } } - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewDropTarget.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewDropTarget.java index 864c6bb56217..c082f7fb0f74 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewDropTarget.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewDropTarget.java @@ -27,6 +27,7 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringActionHandlerFactory; import com.intellij.refactoring.actions.BaseRefactoringAction; @@ -254,7 +255,7 @@ class ProjectViewDropTarget implements DnDNativeTarget { } } if ( psiElements.size() != 0) { - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } else { return BaseRefactoringAction.getPsiElementArray(DataManager.getInstance().getDataContext(myTree)); } diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java index 2ce733687504..61d5dc90cf70 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/ProjectViewImpl.java @@ -987,7 +987,7 @@ public final class ProjectViewImpl extends ProjectView implements PersistentStat for (PsiElement psiElement : allElements) { if (psiElement != null && psiElement.isValid()) validElements.add(psiElement); } - final PsiElement[] elements = validElements.toArray(new PsiElement[validElements.size()]); + final PsiElement[] elements = PsiUtilBase.toPsiElementArray(validElements); LocalHistoryAction a = LocalHistory.getInstance().startAction(IdeBundle.message("progress.deleting")); try { diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper.java index e2341a1be15a..e621f8dac500 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/nodes/ProjectViewDirectoryHelper.java @@ -38,6 +38,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import gnu.trove.THashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -189,7 +190,7 @@ public class ProjectViewDirectoryHelper { } } - return directoriesOnTheWayToContentRoots.toArray(new PsiElement[directoriesOnTheWayToContentRoots.size()]); + return PsiUtilBase.toPsiElementArray(directoriesOnTheWayToContentRoots); } // used only for non-flatten packages mode diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java index 00ec308ae838..84152b0530fa 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java @@ -64,6 +64,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.scope.packageSet.NamedScope; import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; import com.intellij.psi.search.scope.packageSet.PackageSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.ColoredTreeCellRenderer; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.SimpleTextAttributes; @@ -213,7 +214,7 @@ public class ScopeTreeViewPanel extends JPanel implements JDOMExternalizable, Di result.add(psiElement); } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } return PsiElement.EMPTY_ARRAY; } @@ -293,7 +294,7 @@ public class ScopeTreeViewPanel extends JPanel implements JDOMExternalizable, Di } } } - return psiElements.isEmpty() ? null : psiElements.toArray(new PsiElement[psiElements.size()]); + return psiElements.isEmpty() ? null : PsiUtilBase.toPsiElementArray(psiElements); } } if (LangDataKeys.IDE_VIEW.is(dataId)) { @@ -694,7 +695,7 @@ public class ScopeTreeViewPanel extends JPanel implements JDOMExternalizable, Di for (PsiElement psiElement : allElements) { if (psiElement != null && psiElement.isValid()) validElements.add(psiElement); } - final PsiElement[] elements = validElements.toArray(new PsiElement[validElements.size()]); + final PsiElement[] elements = PsiUtilBase.toPsiElementArray(validElements); LocalHistoryAction a = LocalHistory.getInstance().startAction(IdeBundle.message("progress.deleting")); try { diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 5fdbe75e02a7..277ef4a2b0d0 100644 --- a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -44,6 +44,7 @@ import com.intellij.pom.Navigatable; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.impl.source.tree.CompositeElement; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.AutoScrollFromSourceHandler; import com.intellij.ui.AutoScrollToSourceHandler; import com.intellij.ui.ScrollPaneFactory; @@ -194,7 +195,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre psiElements.add((PsiElement)selectedElement); } } - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } private Object[] getSelectedElements() { @@ -690,7 +691,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre psiElements.add((PsiElement)selectedElement); } } - return psiElements.toArray(new PsiElement[psiElements.size()]); + return PsiUtilBase.toPsiElementArray(psiElements); } @Nullable diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 1ce37438ccfa..169a393956a8 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -44,6 +44,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.codeStyle.NameUtil; import com.intellij.psi.statistics.StatisticsInfo; import com.intellij.psi.statistics.StatisticsManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.util.proximity.PsiProximityComparator; import com.intellij.ui.DocumentAdapter; import com.intellij.ui.ListScrollingUtil; @@ -233,7 +234,7 @@ public abstract class ChooseByNameBase { result.add((PsiElement)element); } } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } else if (PlatformDataKeys.DOMINANT_HINT_AREA_RECTANGLE.is(dataId)) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java index 5aed97c744c8..20a9f5051126 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ProjectBaseDirNavigationContributor.java @@ -25,6 +25,7 @@ import com.intellij.openapi.util.Comparing; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import java.util.ArrayList; @@ -58,7 +59,7 @@ public class ProjectBaseDirNavigationContributor implements ChooseByNameContribu } } } - return list.toArray(new PsiFile[list.size()]); + return PsiUtilBase.toPsiFileArray(list); } private static boolean isEditable(VirtualFile file, final boolean checkboxState) { diff --git a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java index 3b26c8f0c445..6ae1b2b97199 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java +++ b/platform/lang-impl/src/com/intellij/ide/util/scopeChooser/ScopeChooserCombo.java @@ -42,6 +42,7 @@ import com.intellij.psi.search.scope.packageSet.NamedScope; import com.intellij.psi.search.scope.packageSet.NamedScopeManager; import com.intellij.psi.search.scope.packageSet.NamedScopesHolder; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.usages.Usage; import com.intellij.usages.UsageView; @@ -245,7 +246,7 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo } } if (!elements.isEmpty()) { - SearchScope local = new LocalSearchScope(elements.toArray(new PsiElement[elements.size()]), IdeBundle.message("scope.selection")); + SearchScope local = new LocalSearchScope(PsiUtilBase.toPsiElementArray(elements), IdeBundle.message("scope.selection")); result.add(local); } } @@ -338,7 +339,7 @@ public class ScopeChooserCombo extends ComboboxWithBrowseButton implements Dispo } if (!results.isEmpty()) { - result.add(new LocalSearchScope(results.toArray(new PsiElement[results.size()]), IdeBundle.message("scope.previous.search.results"))); + result.add(new LocalSearchScope(PsiUtilBase.toPsiElementArray(results), IdeBundle.message("scope.previous.search.results"))); } } } diff --git a/platform/lang-impl/src/com/intellij/internal/psiView/ViewerTreeStructure.java b/platform/lang-impl/src/com/intellij/internal/psiView/ViewerTreeStructure.java index d5d0a8e1f94b..68e529eff339 100644 --- a/platform/lang-impl/src/com/intellij/internal/psiView/ViewerTreeStructure.java +++ b/platform/lang-impl/src/com/intellij/internal/psiView/ViewerTreeStructure.java @@ -28,6 +28,7 @@ import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.impl.source.SourceTreeToPsiMap; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import org.jetbrains.annotations.NotNull; @@ -111,7 +112,7 @@ public class ViewerTreeStructure extends AbstractTreeStructure { } childrenList.add(psiElement); } - result = childrenList.toArray(new PsiElement[childrenList.size()]); + result = PsiUtilBase.toPsiElementArray(childrenList); } else { result = elementChildren; diff --git a/platform/lang-impl/src/com/intellij/openapi/vcs/checkin/StandardBeforeCheckinHandler.java b/platform/lang-impl/src/com/intellij/openapi/vcs/checkin/StandardBeforeCheckinHandler.java index d6e0fa8678ef..21a4483b75f9 100644 --- a/platform/lang-impl/src/com/intellij/openapi/vcs/checkin/StandardBeforeCheckinHandler.java +++ b/platform/lang-impl/src/com/intellij/openapi/vcs/checkin/StandardBeforeCheckinHandler.java @@ -30,6 +30,7 @@ import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -136,7 +137,7 @@ public class StandardBeforeCheckinHandler extends CheckinHandler implements Chec if (psiFile != null) result.add(psiFile); } } - return result.toArray(new PsiFile[result.size()]); + return PsiUtilBase.toPsiFileArray(result); } diff --git a/platform/lang-impl/src/com/intellij/packageDependencies/ui/DependenciesUsagesPanel.java b/platform/lang-impl/src/com/intellij/packageDependencies/ui/DependenciesUsagesPanel.java index 22b870ba8975..f85bc3bf68bd 100644 --- a/platform/lang-impl/src/com/intellij/packageDependencies/ui/DependenciesUsagesPanel.java +++ b/platform/lang-impl/src/com/intellij/packageDependencies/ui/DependenciesUsagesPanel.java @@ -30,6 +30,7 @@ import com.intellij.packageDependencies.DependenciesBuilder; import com.intellij.packageDependencies.FindDependencyUtil; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.usageView.UsageInfo; import com.intellij.usages.UsageInfoToUsageConverter; import com.intellij.util.Consumer; @@ -95,7 +96,8 @@ public class DependenciesUsagesPanel extends UsagesPanel { if (!progress.isCanceled()) { final UsageInfo[] finalUsages = usages; - final PsiElement[] _elementsToSearch = elementsToSearch != null? elementsToSearch.toArray(new PsiElement[elementsToSearch.size()]) : PsiElement.EMPTY_ARRAY; + final PsiElement[] _elementsToSearch = + elementsToSearch != null ? PsiUtilBase.toPsiElementArray(elementsToSearch) : PsiElement.EMPTY_ARRAY; ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { showUsages(new UsageInfoToUsageConverter.TargetElementsDescriptor(_elementsToSearch), finalUsages); diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/CompositeCacheManager.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/CompositeCacheManager.java index 264ca6adc144..ee60f241dd39 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/CompositeCacheManager.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/CompositeCacheManager.java @@ -23,12 +23,14 @@ import com.intellij.psi.impl.cache.CacheManager; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.IndexPattern; import com.intellij.psi.search.IndexPatternProvider; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.CommonProcessors; import com.intellij.util.Processor; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collection; import java.util.List; /** @@ -66,7 +68,8 @@ public class CompositeCacheManager implements CacheManager{ public PsiFile[] getFilesWithWord(@NotNull String word, short occurenceMask, @NotNull GlobalSearchScope scope, final boolean caseSensitively) { CommonProcessors.CollectProcessor processor = new CommonProcessors.CollectProcessor(); processFilesWithWord(processor, word, occurenceMask, scope, caseSensitively); - return processor.getResults().isEmpty() ? PsiFile.EMPTY_ARRAY : processor.toArray(new PsiFile[processor.getResults().size()]); + Collection results = processor.getResults(); + return PsiUtilBase.toPsiFileArray(results); } public boolean processFilesWithWord(@NotNull Processor processor, @NotNull String word, short occurenceMask, @NotNull GlobalSearchScope scope, final boolean caseSensitively) { @@ -86,7 +89,7 @@ public class CompositeCacheManager implements CacheManager{ ContainerUtil.addAll(files, items); } } - return files == null ? PsiFile.EMPTY_ARRAY : files.toArray(new PsiFile[files.size()]); + return files == null ? PsiFile.EMPTY_ARRAY : PsiUtilBase.toPsiFileArray(files); } public int getTodoCount(@NotNull VirtualFile file, final IndexPatternProvider patternProvider) { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexCacheManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexCacheManagerImpl.java index b381d41b5dae..52c2ca83c492 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexCacheManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/cache/impl/IndexCacheManagerImpl.java @@ -38,6 +38,7 @@ import com.intellij.psi.impl.cache.impl.todo.TodoIndexEntry; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.IndexPattern; import com.intellij.psi.search.IndexPatternProvider; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.CommonProcessors; import com.intellij.util.Processor; import com.intellij.util.indexing.FileBasedIndex; @@ -160,7 +161,7 @@ public class IndexCacheManagerImpl implements CacheManager{ } }); } - return allFiles.isEmpty() ? PsiFile.EMPTY_ARRAY : allFiles.toArray(new PsiFile[allFiles.size()]); + return allFiles.isEmpty() ? PsiFile.EMPTY_ARRAY : PsiUtilBase.toPsiFileArray(allFiles); } public int getTodoCount(@NotNull final VirtualFile file, final IndexPatternProvider patternProvider) { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/file/PsiDirectoryImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/file/PsiDirectoryImpl.java index 38ac34eddc50..45d61baa27d1 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/file/PsiDirectoryImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/file/PsiDirectoryImpl.java @@ -46,6 +46,7 @@ import com.intellij.psi.impl.source.tree.ChangeUtil; import com.intellij.psi.impl.source.tree.TreeElement; import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.search.PsiFileSystemItemProcessor; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import com.intellij.util.Icons; import com.intellij.util.IncorrectOperationException; @@ -181,7 +182,7 @@ public class PsiDirectoryImpl extends PsiElementBase implements PsiDirectory, Qu psiFiles.add(psiFile); } } - return psiFiles.toArray(new PsiFile[psiFiles.size()]); + return PsiUtilBase.toPsiFileArray(psiFiles); } public PsiDirectory findSubdirectory(@NotNull String name) { @@ -234,7 +235,7 @@ public class PsiDirectoryImpl extends PsiElementBase implements PsiDirectory, Qu } }); - return children.toArray(new PsiElement[children.size()]); + return PsiUtilBase.toPsiElementArray(children); } private void checkValid() { diff --git a/platform/lang-impl/src/com/intellij/psi/impl/file/PsiFileImplUtil.java b/platform/lang-impl/src/com/intellij/psi/impl/file/PsiFileImplUtil.java index 6e453baad1ee..6f0ef54f5969 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/file/PsiFileImplUtil.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/file/PsiFileImplUtil.java @@ -27,6 +27,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; import com.intellij.psi.impl.PsiManagerImpl; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import java.io.IOException; @@ -102,7 +103,7 @@ public class PsiFileImplUtil { psiFiles.add(psiFile); } } - return psiFiles.toArray(new PsiFile[psiFiles.size()]); + return PsiUtilBase.toPsiFileArray(psiFiles); } public static PsiFile[] getPsiFilesByVirtualFiles(List files, PsiManager manager) { @@ -114,6 +115,6 @@ public class PsiFileImplUtil { psiFiles.add(psiFile); } } - return psiFiles.toArray(new PsiFile[psiFiles.size()]); + return PsiUtilBase.toPsiFileArray(psiFiles); } } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java index 2c3c9fc6c6f1..090ca02b442d 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/search/PsiSearchHelperImpl.java @@ -41,6 +41,7 @@ import com.intellij.psi.impl.cache.impl.id.IdIndex; import com.intellij.psi.impl.cache.impl.id.IdIndexEntry; import com.intellij.psi.search.*; import com.intellij.psi.search.searches.IndexPatternSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.CommonProcessors; import com.intellij.util.Processor; import com.intellij.util.containers.CollectionFactory; @@ -151,7 +152,7 @@ public class PsiSearchHelperImpl implements PsiSearchHelper { } }); synchronized (results) { - return results.toArray(new PsiElement[results.size()]); + return PsiUtilBase.toPsiElementArray(results); } } diff --git a/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java b/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java index abe50575bda2..978638d19aa7 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/source/resolve/reference/impl/providers/FileReference.java @@ -38,6 +38,7 @@ import com.intellij.psi.impl.source.resolve.ResolveCache; import com.intellij.psi.impl.source.resolve.reference.impl.CachingReference; import com.intellij.psi.search.PsiElementProcessor; import com.intellij.psi.search.PsiFileSystemItemProcessor; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.rename.BindablePsiReference; import com.intellij.util.ArrayUtil; import com.intellij.util.CommonProcessors; @@ -262,7 +263,7 @@ public class FileReference implements FileReferenceOwner, PsiPolyVariantReferenc } } final THashSet set = new THashSet(collector.getResults(), VARIANTS_HASHING_STRATEGY); - final PsiElement[] candidates = set.toArray(new PsiElement[set.size()]); + final PsiElement[] candidates = PsiUtilBase.toPsiElementArray(set); final Object[] variants = new Object[candidates.length]; for (int i = 0; i < candidates.length; i++) { diff --git a/platform/lang-impl/src/com/intellij/psi/search/FilenameIndex.java b/platform/lang-impl/src/com/intellij/psi/search/FilenameIndex.java index 2bc646aae325..529b91f6de3d 100644 --- a/platform/lang-impl/src/com/intellij/psi/search/FilenameIndex.java +++ b/platform/lang-impl/src/com/intellij/psi/search/FilenameIndex.java @@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import com.intellij.util.indexing.*; import com.intellij.util.io.EnumeratorStringDescriptor; @@ -82,7 +83,7 @@ public class FilenameIndex extends ScalarIndexExtension { result.add(psiFile); } } - return result.toArray(new PsiFile[result.size()]); + return PsiUtilBase.toPsiFileArray(result); } private static class MyDataIndexer implements DataIndexer { diff --git a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java index 34931d96b8fc..666c20317590 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java @@ -41,6 +41,7 @@ import com.intellij.openapi.wm.WindowManager; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.listeners.RefactoringListenerManager; import com.intellij.refactoring.listeners.impl.RefactoringListenerManagerImpl; import com.intellij.refactoring.listeners.impl.RefactoringTransaction; @@ -248,7 +249,7 @@ public abstract class BaseRefactoringProcessor { } private static boolean ensureFilesWritable(final Project project, Collection elements) { - PsiElement[] psiElements = elements.toArray(new PsiElement[elements.size()]); + PsiElement[] psiElements = PsiUtilBase.toPsiElementArray(elements); return CommonRefactoringUtil.checkReadOnlyStatus(project, psiElements); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java index a09a920a32e1..cd9b719d660a 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java @@ -26,6 +26,7 @@ import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.util.CommonRefactoringUtil; @@ -215,7 +216,7 @@ public abstract class BaseRefactoringAction extends AnAction { filtered.remove(element); } } - return filtered == null ? psiElements : filtered.toArray(new PsiElement[filtered.size()]); + return filtered == null ? psiElements : PsiUtilBase.toPsiElementArray(filtered); } } diff --git a/platform/lang-impl/src/com/intellij/refactoring/move/MoveHandler.java b/platform/lang-impl/src/com/intellij/refactoring/move/MoveHandler.java index 3459025bc838..e6b87ff5ad83 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/move/MoveHandler.java +++ b/platform/lang-impl/src/com/intellij/refactoring/move/MoveHandler.java @@ -31,6 +31,7 @@ import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesUtil; @@ -110,7 +111,7 @@ public class MoveHandler implements RefactoringActionHandler { } } MoveFilesOrDirectoriesUtil - .doMove(project, filesOrDirs.toArray(new PsiElement[filesOrDirs.size()]), new PsiElement[]{targetContainer}, null); + .doMove(project, PsiUtilBase.toPsiElementArray(filesOrDirs), new PsiElement[]{targetContainer}, null); return; } doMove(project, elements, targetContainer, dataContext, null); diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameViewDescriptor.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameViewDescriptor.java index 734d4a2ba264..f51f944d7bcd 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameViewDescriptor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameViewDescriptor.java @@ -20,6 +20,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiDirectory; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringBundle; import com.intellij.usageView.UsageViewBundle; import com.intellij.usageView.UsageViewDescriptor; @@ -39,7 +40,7 @@ class RenameViewDescriptor implements UsageViewDescriptor{ public RenameViewDescriptor(LinkedHashMap renamesMap) { - myElements = renamesMap.keySet().toArray(new PsiElement[0]); + myElements = PsiUtilBase.toPsiElementArray(renamesMap.keySet()); Set processedElementsHeaders = new THashSet(); Set codeReferences = new THashSet(); diff --git a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteHandler.java b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteHandler.java index 292bd0df59a0..190ba8e8c501 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteHandler.java +++ b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteHandler.java @@ -27,6 +27,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.RefactoringSettings; @@ -97,7 +98,7 @@ public class SafeDeleteHandler implements RefactoringActionHandler { if (!CommonRefactoringUtil.checkReadOnlyStatusRecursively(project, fullElementsSet)) return; - final PsiElement[] elementsToDelete = fullElementsSet.toArray(new PsiElement[fullElementsSet.size()]); + final PsiElement[] elementsToDelete = PsiUtilBase.toPsiElementArray(fullElementsSet); if (ApplicationManager.getApplication().isUnitTestMode()) { RefactoringSettings settings = RefactoringSettings.getInstance(); diff --git a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java index f811f109b2a3..a2480bfb172c 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/safeDelete/SafeDeleteProcessor.java @@ -30,6 +30,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.BaseRefactoringProcessor; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.safeDelete.usageInfo.SafeDeleteCustomUsageInfo; @@ -278,7 +279,7 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor { } } if(!elements.isEmpty()) { - SafeDeleteHandler.invoke(myProject, elements.toArray(new PsiElement[elements.size()]), true); + SafeDeleteHandler.invoke(myProject, PsiUtilBase.toPsiElementArray(elements), true); } } }); @@ -412,7 +413,7 @@ public class SafeDeleteProcessor extends BaseRefactoringProcessor { } return new SafeDeleteProcessor(project, prepareSuccessfulCallBack, - elements.toArray(new PsiElement[elements.size()]), + PsiUtilBase.toPsiElementArray(elements), isSearchInComments, isSearchNonJava); } diff --git a/platform/lang-impl/src/com/intellij/testIntegration/GotoTestOrCodeHandler.java b/platform/lang-impl/src/com/intellij/testIntegration/GotoTestOrCodeHandler.java index 48900b1271c5..383207afac7b 100644 --- a/platform/lang-impl/src/com/intellij/testIntegration/GotoTestOrCodeHandler.java +++ b/platform/lang-impl/src/com/intellij/testIntegration/GotoTestOrCodeHandler.java @@ -74,7 +74,7 @@ public class GotoTestOrCodeHandler extends GotoTargetHandler { } } - return new GotoData(sourceElement, candidates.toArray(new PsiElement[candidates.size()]), actions); + return new GotoData(sourceElement, PsiUtilBase.toPsiElementArray(candidates), actions); } @NotNull diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/HighlightUtils.java b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/HighlightUtils.java index c1cfa5dbaedd..8c9ba2991181 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/HighlightUtils.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/psiutils/HighlightUtils.java @@ -40,6 +40,7 @@ import com.intellij.openapi.wm.WindowManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNameIdentifierOwner; import com.intellij.psi.PsiReference; +import com.intellij.psi.util.PsiUtilBase; import com.siyeh.InspectionGadgetsBundle; import org.jetbrains.annotations.NotNull; @@ -63,9 +64,8 @@ public class HighlightUtils { final Application application = ApplicationManager.getApplication(); application.invokeLater(new Runnable() { public void run() { - final PsiElement[] elements = - elementCollection.toArray( - new PsiElement[elementCollection.size()]); + final PsiElement[] elements = + PsiUtilBase.toPsiElementArray(elementCollection); final PsiElement firstElement = elements[0]; if (!firstElement.isValid()) { return; diff --git a/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/Configuration.java b/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/Configuration.java index f77d7a017559..f1edb4546ac9 100644 --- a/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/Configuration.java +++ b/plugins/IntelliLang/src/org/intellij/plugins/intelliLang/Configuration.java @@ -39,6 +39,7 @@ import com.intellij.psi.PsiCompiledElement; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiLanguageInjectionHost; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.FileContentUtil; import com.intellij.util.Function; import com.intellij.util.NullableFunction; @@ -545,7 +546,7 @@ public final class Configuration implements PersistentStateComponent, M return psiAnnotation instanceof PsiCompiledElement ? null : psiAnnotation.getContainingFile(); } }); - new WriteCommandAction.Simple(project, "Language Injection Configuration Update", psiFiles.toArray(new PsiFile[psiFiles.size()])) { + new WriteCommandAction.Simple(project, "Language Injection Configuration Update", PsiUtilBase.toPsiFileArray(psiFiles)) { public void run() { for (PsiElement annotation : psiElementsToRemove) { annotation.delete(); diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/psiutils/HighlightUtil.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/psiutils/HighlightUtil.java index 5b3775594b8e..b6c0a592fa77 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/psiutils/HighlightUtil.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/psiutils/HighlightUtil.java @@ -30,6 +30,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.WindowManager; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NotNull; import java.util.Collection; @@ -49,9 +50,8 @@ public class HighlightUtil { final Application application = ApplicationManager.getApplication(); application.invokeLater(new Runnable() { public void run() { - final PsiElement[] elements = - elementCollection.toArray( - new PsiElement[elementCollection.size()]); + final PsiElement[] elements = + PsiUtilBase.toPsiElementArray(elementCollection); final PsiElement firstElement = elements[0]; if (!firstElement.isValid()) { return; diff --git a/plugins/android/src/org/jetbrains/android/AndroidResourcesLineMarkerProvider.java b/plugins/android/src/org/jetbrains/android/AndroidResourcesLineMarkerProvider.java index 2e105127d267..8da74a5b9ab2 100644 --- a/plugins/android/src/org/jetbrains/android/AndroidResourcesLineMarkerProvider.java +++ b/plugins/android/src/org/jetbrains/android/AndroidResourcesLineMarkerProvider.java @@ -26,6 +26,7 @@ import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlAttribute; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlTag; @@ -285,7 +286,7 @@ public class AndroidResourcesLineMarkerProvider implements LineMarkerProvider { else { targets = AndroidResourceUtil.findResourcesByField(manager, resField); } - return targets.toArray(new PsiElement[targets.size()]); + return PsiUtilBase.toPsiElementArray(targets); } }; if (lazy) { diff --git a/plugins/android/src/org/jetbrains/android/util/AndroidResourceUtil.java b/plugins/android/src/org/jetbrains/android/util/AndroidResourceUtil.java index 8f9361242ebb..7856d63efc1f 100644 --- a/plugins/android/src/org/jetbrains/android/util/AndroidResourceUtil.java +++ b/plugins/android/src/org/jetbrains/android/util/AndroidResourceUtil.java @@ -25,6 +25,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlAttribute; import com.intellij.psi.xml.XmlAttributeValue; import com.intellij.psi.xml.XmlFile; @@ -396,6 +397,6 @@ public class AndroidResourceUtil { assert facet != null; LocalResourceManager manager = facet.getLocalResourceManager(); List targets = findResourcesByField(manager, resField); - return targets.toArray(new PsiElement[targets.size()]); + return PsiUtilBase.toPsiElementArray(targets); } } diff --git a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBuildModelImpl.java b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBuildModelImpl.java index fa6e9422afdd..67a74e83c31f 100644 --- a/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBuildModelImpl.java +++ b/plugins/ant/src/com/intellij/lang/ant/config/impl/AntBuildModelImpl.java @@ -30,6 +30,7 @@ import com.intellij.psi.PsiManager; import com.intellij.psi.impl.PsiCachedValueImpl; import com.intellij.psi.util.CachedValue; import com.intellij.psi.util.CachedValueProvider; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlFile; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; @@ -49,7 +50,7 @@ public class AntBuildModelImpl implements AntBuildModelBase { public Result> compute() { final Pair, Collection> result = getTargetListImpl(AntBuildModelImpl.this); final Collection deps = result.getSecond(); - return Result.create(result.getFirst(), deps.toArray(new PsiFile[deps.size()])); + return Result.create(result.getFirst(), PsiUtilBase.toPsiFileArray(deps)); } }); } diff --git a/plugins/ant/src/com/intellij/lang/ant/psi/impl/AntFileImpl.java b/plugins/ant/src/com/intellij/lang/ant/psi/impl/AntFileImpl.java index 2039e5da01a7..058fbaee13c8 100644 --- a/plugins/ant/src/com/intellij/lang/ant/psi/impl/AntFileImpl.java +++ b/plugins/ant/src/com/intellij/lang/ant/psi/impl/AntFileImpl.java @@ -42,6 +42,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlAttribute; import com.intellij.psi.xml.XmlDocument; import com.intellij.psi.xml.XmlFile; @@ -179,7 +180,7 @@ public class AntFileImpl extends LightPsiFileBase implements AntFile { if (myEpilogueElement != null) { children.add(myEpilogueElement); } - myChildren = children.toArray(new PsiElement[children.size()]); + myChildren = PsiUtilBase.toPsiElementArray(children); } return myChildren; } diff --git a/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightAction.java b/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightAction.java index 4a6305c04fd9..071d64cbce53 100644 --- a/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightAction.java +++ b/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightAction.java @@ -22,6 +22,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.util.PsiUtilBase; import com.maddyhome.idea.copyright.pattern.FileUtil; import com.maddyhome.idea.copyright.util.FileTypeUtil; @@ -125,7 +126,7 @@ public class UpdateCopyrightAction extends AnAction { for (Module mod : modules) { AbstractFileProcessor.findFiles(mod, psiFiles); } - new UpdateCopyrightProcessor(project, null, psiFiles.toArray(new PsiFile[psiFiles.size()])).run(); + new UpdateCopyrightProcessor(project, null, PsiUtilBase.toPsiFileArray(psiFiles)).run(); return; } diff --git a/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightCheckinHandlerFactory.java b/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightCheckinHandlerFactory.java index bb3e90ebb866..19e7ea507e7a 100644 --- a/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightCheckinHandlerFactory.java +++ b/plugins/copyright/src/com/maddyhome/idea/copyright/actions/UpdateCopyrightCheckinHandlerFactory.java @@ -29,6 +29,7 @@ import com.intellij.openapi.vcs.ui.RefreshableOnComponent; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.PairConsumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -86,7 +87,7 @@ public class UpdateCopyrightCheckinHandlerFactory extends CheckinHandlerFactory psiFiles.add(psiFile); } } - return psiFiles.toArray(new PsiFile[psiFiles.size()]); + return PsiUtilBase.toPsiFileArray(psiFiles); } }; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/findUsages/GroovyFindUsagesHandlerFactory.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/findUsages/GroovyFindUsagesHandlerFactory.java index d53d33a9874d..36ef1b5b0711 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/findUsages/GroovyFindUsagesHandlerFactory.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/findUsages/GroovyFindUsagesHandlerFactory.java @@ -29,6 +29,7 @@ import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiField; import com.intellij.psi.PsiMethod; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField; @@ -83,7 +84,7 @@ public class GroovyFindUsagesHandlerFactory extends JavaFindUsagesHandlerFactory for (PsiMethod setter : setters) { ContainerUtil.addAll(elements, SuperMethodWarningUtil.checkSuperMethods(setter, ACTION_STRING)); } - return elements.toArray(new PsiElement[elements.size()]); + return PsiUtilBase.toPsiElementArray(elements); } else { return PsiElement.EMPTY_ARRAY; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java index bac7cb38c3c6..817b8819bbd3 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/smartEnter/GroovySmartEnterProcessor.java @@ -32,6 +32,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; @@ -334,6 +335,6 @@ public class GroovySmartEnterProcessor extends SmartEnterProcessor { psiChild = psiChild.getNextSibling(); } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocCommentImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocCommentImpl.java index a7507ea5b86b..7346b2ba2075 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocCommentImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocCommentImpl.java @@ -21,6 +21,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.impl.source.tree.LazyParseablePsiElement; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -110,6 +111,6 @@ public class GrDocCommentImpl extends LazyParseablePsiElement implements GroovyD array.add(child); } } - return array.toArray(new PsiElement[array.size()]); + return PsiUtilBase.toPsiElementArray(array); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocInlinedTagImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocInlinedTagImpl.java index 58ee3afb3670..6bb1e32c3b01 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocInlinedTagImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocInlinedTagImpl.java @@ -19,6 +19,7 @@ package org.jetbrains.plugins.groovy.lang.groovydoc.psi.impl; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement; import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -82,7 +83,7 @@ public class GrDocInlinedTagImpl extends GroovyDocPsiElementImpl implements GrDo public PsiElement[] getDataElements() { final List list = findChildrenByType(VALUE_BIT_SET); - return list.toArray(new PsiElement[list.size()]); + return PsiUtilBase.toPsiElementArray(list); } public PsiElement setName(@NonNls @NotNull String name) throws IncorrectOperationException { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocTagImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocTagImpl.java index 91399efd431e..420dde38b7b5 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocTagImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/groovydoc/psi/impl/GrDocTagImpl.java @@ -19,6 +19,7 @@ package org.jetbrains.plugins.groovy.lang.groovydoc.psi.impl; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiElement; import com.intellij.psi.tree.TokenSet; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -87,7 +88,7 @@ public class GrDocTagImpl extends GroovyDocPsiElementImpl implements GrDocTag { public PsiElement[] getDataElements() { final List list = findChildrenByType(VALUE_BIT_SET); - return list.toArray(new PsiElement[list.size()]); + return PsiUtilBase.toPsiElementArray(list); } public PsiElement setName(@NonNls @NotNull String name) throws IncorrectOperationException { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentListImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentListImpl.java index 6e8711f499fb..f3c63b09e38d 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentListImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentListImpl.java @@ -22,6 +22,7 @@ import com.intellij.psi.PsiExpression; import com.intellij.psi.PsiType; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.psi.impl.source.tree.TreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; @@ -90,7 +91,7 @@ public class GrArgumentListImpl extends GroovyPsiElementImpl implements GrArgume for (PsiElement child = getFirstChild(); child != null; child = child.getNextSibling()) { if (child instanceof GrNamedArgument || child instanceof GrExpression) args.add(child); } - return args.toArray(new PsiElement[args.size()]); + return PsiUtilBase.toPsiElementArray(args); } public GrArgumentList replaceWithArgumentList(GrArgumentList newArgList) throws IncorrectOperationException { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/GroovyRefactoringUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/GroovyRefactoringUtil.java index f9c8df1440aa..f50520eed5d2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/GroovyRefactoringUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/GroovyRefactoringUtil.java @@ -33,6 +33,7 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; import com.intellij.util.ReflectionCache; @@ -147,7 +148,7 @@ public abstract class GroovyRefactoringUtil { } else { collectOccurrences(expr, scope, occurrences, comparator, scope instanceof GrTypeDefinition || scope instanceof GroovyFileBase); } - return occurrences.toArray(new PsiElement[occurrences.size()]); + return PsiUtilBase.toPsiElementArray(occurrences); } @@ -317,7 +318,7 @@ public abstract class GroovyRefactoringUtil { result.add(psiChild); psiChild = psiChild.getNextSibling(); } - children = result.toArray(new PsiElement[result.size()]); + children = PsiUtilBase.toPsiElementArray(result); } @@ -344,7 +345,7 @@ public abstract class GroovyRefactoringUtil { } } - return possibleStatements.toArray(new PsiElement[possibleStatements.size()]); + return PsiUtilBase.toPsiElementArray(possibleStatements); } public static boolean isSuperOrThisCall(GrStatement statement, boolean testForSuper, boolean testForThis) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyInlineVariableUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyInlineVariableUtil.java index 65591a761f3c..afe2faa426b3 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyInlineVariableUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyInlineVariableUtil.java @@ -26,6 +26,7 @@ import com.intellij.openapi.wm.WindowManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; import com.intellij.psi.search.searches.ReferencesSearch; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.refactoring.HelpID; import com.intellij.refactoring.RefactoringBundle; import com.intellij.refactoring.util.CommonRefactoringUtil; @@ -112,7 +113,7 @@ public class GroovyInlineVariableUtil { exprs.add(ref.getElement()); } - GroovyRefactoringUtil.highlightOccurrences(project, editor, exprs.toArray(new PsiElement[exprs.size()])); + GroovyRefactoringUtil.highlightOccurrences(project, editor, PsiUtilBase.toPsiElementArray(exprs)); if (variable.getInitializerGroovy() == null) { String message = GroovyRefactoringBundle.message("cannot.find.a.single.definition.to.inline.local.var"); CommonRefactoringUtil.showErrorHint(variable.getProject(), editor, message, REFACTORING_NAME, HelpID.INLINE_VARIABLE); @@ -180,7 +181,7 @@ public class GroovyInlineVariableUtil { for (PsiReference ref : refs) { exprs.add(ref.getElement()); } - GroovyRefactoringUtil.highlightOccurrences(project, editor, exprs.toArray(new PsiElement[exprs.size()])); + GroovyRefactoringUtil.highlightOccurrences(project, editor, PsiUtilBase.toPsiElementArray(exprs)); if (refs.isEmpty()) { String message = GroovyRefactoringBundle.message("field.is.never.used.0", field.getName()); CommonRefactoringUtil.showErrorHint(project, editor, message, REFACTORING_NAME, HelpID.INLINE_FIELD); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/extract/ExtractManagedDependenciesAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/extract/ExtractManagedDependenciesAction.java index 74a4282b8ea4..3155fd4c5d87 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/extract/ExtractManagedDependenciesAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/extract/ExtractManagedDependenciesAction.java @@ -25,6 +25,7 @@ import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlElement; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.actions.BaseRefactoringAction; @@ -181,7 +182,7 @@ public class ExtractManagedDependenciesAction extends BaseRefactoringAction { } } - return files.toArray(new PsiFile[files.size()]); + return PsiUtilBase.toPsiFileArray(files); } diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java index bc2aeef03fc9..e925a18e2429 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/binding/FormReferencesSearcher.java @@ -22,6 +22,7 @@ import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.UsageSearchContext; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.util.Processor; import com.intellij.util.QueryExecutor; import com.intellij.util.containers.ContainerUtil; @@ -242,7 +243,7 @@ public class FormReferencesSearcher implements QueryExecutor found = process(matcher, false); - return found.toArray(new PsiElement[found.size()]); + return PsiUtilBase.toPsiElementArray(found); } private static class Stop extends RuntimeException { diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/XsltSupport.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/XsltSupport.java index a4e5240b8833..f18d65f09532 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/XsltSupport.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/XsltSupport.java @@ -22,10 +22,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiLanguageInjectionHost; import com.intellij.psi.impl.PsiFileEx; -import com.intellij.psi.util.CachedValueProvider; -import com.intellij.psi.util.ParameterizedCachedValue; -import com.intellij.psi.util.ParameterizedCachedValueProvider; -import com.intellij.psi.util.CachedValuesManager; +import com.intellij.psi.util.*; import com.intellij.psi.xml.*; import com.intellij.ui.LayeredIcon; import com.intellij.util.SmartList; @@ -97,7 +94,7 @@ public class XsltSupport { } } }); - return files.isEmpty() ? PsiFile.EMPTY_ARRAY : files.toArray(new PsiFile[files.size()]); + return files.isEmpty() ? PsiFile.EMPTY_ARRAY : PsiUtilBase.toPsiFileArray(files); } return PsiFile.EMPTY_ARRAY; } diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/associations/impl/FileAssociationsManagerImpl.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/associations/impl/FileAssociationsManagerImpl.java index 8cd3b8c4321c..d9e67acf5f95 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/associations/impl/FileAssociationsManagerImpl.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/associations/impl/FileAssociationsManagerImpl.java @@ -15,6 +15,7 @@ */ package org.intellij.lang.xpath.xslt.associations.impl; +import com.intellij.psi.util.PsiUtilBase; import org.intellij.lang.xpath.xslt.associations.FileAssociationsManager; import com.intellij.ide.projectView.ProjectView; @@ -231,7 +232,7 @@ class FileAssociationsManagerImpl extends FileAssociationsManager implements Pro list.add(psiFile); } } - return list.toArray(new PsiFile[list.size()]); + return PsiUtilBase.toPsiFileArray(list); } else { return PsiFile.EMPTY_ARRAY; diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/context/XsltContextProviderBase.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/context/XsltContextProviderBase.java index ef9a46f9d3ac..210903fe39e8 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/context/XsltContextProviderBase.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/context/XsltContextProviderBase.java @@ -20,10 +20,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.SimpleFieldCache; import com.intellij.psi.*; -import com.intellij.psi.util.CachedValue; -import com.intellij.psi.util.CachedValueProvider; -import com.intellij.psi.util.CachedValuesManager; -import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.*; import com.intellij.psi.xml.*; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; @@ -195,7 +192,7 @@ public abstract class XsltContextProviderBase extends ContextProvider { } }); - return files.toArray(new PsiFile[files.size()]); + return PsiUtilBase.toPsiFileArray(files); } @Nullable diff --git a/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java b/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java index 5d101e112c19..6096d16e7402 100644 --- a/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java +++ b/xml/dom-openapi/src/com/intellij/codeInsight/navigation/NavigationGutterIconRenderer.java @@ -26,6 +26,7 @@ import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.util.NotNullLazyValue; import com.intellij.psi.PsiElement; import com.intellij.psi.SmartPsiElementPointer; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.NullableFunction; import com.intellij.util.PsiNavigateUtil; @@ -116,7 +117,7 @@ public abstract class NavigationGutterIconRenderer extends GutterIconRenderer im PsiNavigateUtil.navigate(list.iterator().next()); } else { - final JBPopup popup = NavigationUtil.getPsiElementPopup(list.toArray(new PsiElement[list.size()]), myCellRenderer, myPopupTitle); + final JBPopup popup = NavigationUtil.getPsiElementPopup(PsiUtilBase.toPsiElementArray(list), myCellRenderer, myPopupTitle); if (event != null) { popup.show(new RelativePoint(event)); } diff --git a/xml/dom-openapi/src/com/intellij/util/xml/ui/DomCollectionControl.java b/xml/dom-openapi/src/com/intellij/util/xml/ui/DomCollectionControl.java index b0861df95269..7611c2535583 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/ui/DomCollectionControl.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/ui/DomCollectionControl.java @@ -23,6 +23,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.IconLoader; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlElement; import com.intellij.util.ArrayUtil; import com.intellij.util.EventDispatcher; @@ -208,7 +209,7 @@ public class DomCollectionControl extends DomUIControl imp } } - new WriteCommandAction(getProject(), files.toArray(new PsiFile[files.size()])) { + new WriteCommandAction(getProject(), PsiUtilBase.toPsiFileArray(files)) { protected void run(Result result) throws Throwable { for (final T t : toDelete) { if (t.isValid()) { diff --git a/xml/dom-openapi/src/com/intellij/util/xml/ui/MockDomElementsEditor.java b/xml/dom-openapi/src/com/intellij/util/xml/ui/MockDomElementsEditor.java index 0821f3b4c38f..5455baba30b6 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/ui/MockDomElementsEditor.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/ui/MockDomElementsEditor.java @@ -24,6 +24,7 @@ import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Factory; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlFile; import com.intellij.util.xml.DomElement; import com.intellij.util.xml.DomManager; @@ -114,7 +115,7 @@ public class MockDomElementsEditor { } } } - new WriteCommandAction(project, changedFiles.toArray(new PsiFile[changedFiles.size()])) { + new WriteCommandAction(project, PsiUtilBase.toPsiFileArray(changedFiles)) { protected void run(Result result) throws Throwable { for (EditedElementDescription description : descriptions) { final DomElement editedElement = myDomElements.get(description); diff --git a/xml/impl/src/com/intellij/lang/xml/XmlSurroundDescriptor.java b/xml/impl/src/com/intellij/lang/xml/XmlSurroundDescriptor.java index 44d71f5e6310..8007d16ed2c5 100644 --- a/xml/impl/src/com/intellij/lang/xml/XmlSurroundDescriptor.java +++ b/xml/impl/src/com/intellij/lang/xml/XmlSurroundDescriptor.java @@ -24,6 +24,7 @@ import com.intellij.lang.surroundWith.Surrounder; import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; import com.intellij.psi.xml.XmlTagChild; import com.intellij.psi.xml.XmlToken; import com.intellij.psi.xml.XmlTokenType; @@ -56,7 +57,7 @@ public class XmlSurroundDescriptor implements SurroundDescriptor { first = first.getNextSibling(); } - return result.toArray(new PsiElement[result.size()]); + return PsiUtilBase.toPsiElementArray(result); } @NotNull public Surrounder[] getSurrounders() {