From ec239fd6079701ca924bf30a98759a6143303937 Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Wed, 25 Nov 2009 17:41:49 +0300 Subject: [PATCH] performance --- .../editorActions/CopyPasteReferenceProcessor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/editorActions/CopyPasteReferenceProcessor.java b/java/java-impl/src/com/intellij/codeInsight/editorActions/CopyPasteReferenceProcessor.java index 30c4ebcc7c31..dabe31bccb74 100644 --- a/java/java-impl/src/com/intellij/codeInsight/editorActions/CopyPasteReferenceProcessor.java +++ b/java/java-impl/src/com/intellij/codeInsight/editorActions/CopyPasteReferenceProcessor.java @@ -44,6 +44,9 @@ public class CopyPasteReferenceProcessor implements CopyPastePostProcessor { if (file instanceof PsiCompiledElement) { file = (PsiFile) ((PsiCompiledElement) file).getMirror(); } + if (!(file instanceof PsiClassOwner)) { + return new ReferenceTransferableData(new ReferenceTransferableData.ReferenceData[0]); + } final ArrayList array = new ArrayList(); for (int j = 0; j < startOffsets.length; j++) { @@ -104,10 +107,13 @@ public class CopyPasteReferenceProcessor implements CopyPastePostProcessor { if (DumbService.getInstance(project).isDumb()) { return; } - final Document document = editor.getDocument(); final PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(document); + if (!(file instanceof PsiClassOwner)) { + return; + } + PsiDocumentManager.getInstance(project).commitAllDocuments(); final ReferenceTransferableData.ReferenceData[] referenceData = ((ReferenceTransferableData)value).getData(); final PsiJavaCodeReferenceElement[] refs = findReferencesToRestore(file, bounds, referenceData);