diff --git a/java/java-tests/testSrc/com/intellij/psi/impl/smartPointers/SmartPsiElementPointersTest.java b/java/java-tests/testSrc/com/intellij/psi/impl/smartPointers/SmartPsiElementPointersTest.java index ec2500771900..4c2ee586ea9d 100644 --- a/java/java-tests/testSrc/com/intellij/psi/impl/smartPointers/SmartPsiElementPointersTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/impl/smartPointers/SmartPsiElementPointersTest.java @@ -14,7 +14,7 @@ import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.diagnostic.DefaultLogger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.EditorFactory; -import com.intellij.openapi.editor.EditorModificationUtil; +import com.intellij.openapi.editor.EditorModificationUtilEx; import com.intellij.openapi.editor.event.DocumentEvent; import com.intellij.openapi.editor.event.DocumentListener; import com.intellij.openapi.editor.event.EditorEventMulticaster; @@ -70,7 +70,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiClass aClass = myJavaFacade.findClass("AClass", GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); - SmartPsiElementPointer pointer = createPointer(aClass); + SmartPsiElementPointer pointer = createPointer(aClass); Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); int offset = aClass.getTextOffset(); @@ -87,13 +87,13 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { ApplicationManager.getApplication().runWriteAction(() -> document.insertString(offset, s)); } - // This test is unfair. If pointer would be asked for getElement() between commits it'll never restore again anyway. + // This test is unfair. If pointer is asked for getElement() between commits it'll never restore again anyway. // public void testChangeInDocumentTwice() { PsiClass aClass = myJavaFacade.findClass("AClass",GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); - SmartPsiElementPointer pointer = createPointer(aClass); + SmartPsiElementPointer pointer = createPointer(aClass); Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); int offset = aClass.getTextOffset(); @@ -112,7 +112,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiClass aClass = myJavaFacade.findClass("AClass",GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); - SmartPsiElementPointer pointer = createPointer(aClass); + SmartPsiElementPointer pointer = createPointer(aClass); Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); int offset = aClass.getTextOffset(); @@ -131,7 +131,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiClass aClass = myJavaFacade.findClass("AClass",GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); - SmartPsiElementPointer pointer = createPointer(aClass); + SmartPsiElementPointer pointer = createPointer(aClass); Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); int offset = aClass.getTextOffset(); @@ -157,7 +157,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { Document document = documentManager.getDocument(aClass.getContainingFile()); document.insertString(0, "/******/"); - SmartPointerEx pointer = createPointer(aClass.getNameIdentifier()); + SmartPointerEx pointer = createPointer(aClass.getNameIdentifier()); document.insertString(0, "/**/"); documentManager.commitAllDocuments(); @@ -177,7 +177,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { createEditor(file.getVirtualFile()); assertFalse(file.isContentsLoaded()); - SmartPointerEx pointer = createPointer(aClass); + SmartPointerEx pointer = createPointer(aClass); assertFalse(file.isContentsLoaded()); //noinspection UnusedAssignment @@ -197,7 +197,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { public void testTextFileClearingDoesNotCrash() { configureByText(PlainTextFileType.INSTANCE, "foo bar goo\n"); - SmartPsiElementPointer pointer = createPointer(myFile.getFirstChild()); + SmartPsiElementPointer pointer = createPointer(myFile.getFirstChild()); GCWatcher.tracking(myFile.getNode()).ensureCollected(); assertEquals(myFile.getFirstChild(), pointer.getElement()); @@ -220,7 +220,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiClass aClass = myJavaFacade.findClass("AClass",GlobalSearchScope.allScope(getProject())); assertNotNull(aClass); - SmartPsiElementPointer pointer = createPointer(aClass); + SmartPsiElementPointer pointer = createPointer(aClass); Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); int offset = aClass.getTextOffset(); @@ -255,8 +255,8 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiClass aClass = myJavaFacade.findClass("AClass",GlobalSearchScope.allScope(getProject())); final PsiTypeElement typeElement = myJavaFacade.findClass("Test",GlobalSearchScope.allScope(getProject())).getFields()[0].getTypeElement(); - SmartPsiElementPointer typePointer = createPointer(typeElement); - SmartPsiElementPointer classPointer = createPointer(aClass); + SmartPsiElementPointer typePointer = createPointer(typeElement); + SmartPsiElementPointer classPointer = createPointer(aClass); Document aClassDocument = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); Document testDocument = PsiDocumentManager.getInstance(myProject).getDocument(typeElement.getContainingFile()); @@ -266,11 +266,10 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { insertString(testDocument, typeElement.getTextOffset(), "/**/"); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); - PsiElement element = typePointer.getElement(); + PsiTypeElement element = typePointer.getElement(); assertNotNull(element); - assertTrue(element instanceof PsiTypeElement); assertTrue(element.isValid()); - assertEquals(classPointer.getElement(), PsiUtil.resolveClassInType(((PsiTypeElement)element).getType())); + assertEquals(classPointer.getElement(), PsiUtil.resolveClassInType(element.getType())); } public void testCreatePointerInBeforeDocumentChange() { @@ -279,7 +278,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { Document document = PsiDocumentManager.getInstance(myProject).getDocument(aClass.getContainingFile()); - final SmartPsiElementPointer[] pointer = new SmartPsiElementPointer[1]; + final SmartPsiElementPointer[] pointer = new SmartPsiElementPointer[1]; int offset = aClass.getTextOffset(); DocumentListener listener = new DocumentListener() { @Override @@ -318,13 +317,9 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiDocumentManager psiDocumentManager = PsiDocumentManager.getInstance(myProject); Document document = FileDocumentManager.getInstance().getDocument(vFile); - final SmartPsiElementPointer pointer = createPointer(aClass); + final SmartPsiElementPointer pointer = createPointer(aClass); System.gc(); - /* - PsiFile psiFile = myPsiManager.getFileManager().getCachedPsiFile(vFile); - assertNull(psiFile); - */ insertString(document, 0, "class Foo{}\n"); @@ -356,8 +351,8 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { assertNotNull(aClass); assertTrue(aClass.isValid()); - SmartPsiElementPointer classp = createPointer(aClass); - SmartPsiElementPointer filep = createPointer(aClass.getContainingFile()); + SmartPsiElementPointer classp = createPointer(aClass); + SmartPsiElementPointer filep = createPointer(aClass.getContainingFile()); FileContentUtil.reparseFiles(myProject, Collections.singleton(vfile), true); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); @@ -390,7 +385,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { assertTreeLoaded(file, false); - SmartPsiElementPointer p = createPointer(aClass); + SmartPsiElementPointer p = createPointer(aClass); assertNotNull(p); assertTreeLoaded(file, false); @@ -429,7 +424,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { assertNotNull(aClass); PsiReferenceExpression ref1 = PsiTreeUtil.getParentOfType(PsiUtilBase.getElementAtCaret(getEditor()), PsiReferenceExpression.class); - SmartPsiElementPointer pointer1 = createPointer(ref1); + SmartPsiElementPointer pointer1 = createPointer(ref1); ctrlD(); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); @@ -446,7 +441,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { assertEquals(1, refs.size()); PsiReferenceExpression ref2 = refs.iterator().next(); assertNotSame(ref1, ref2); - SmartPsiElementPointer pointer2 = createPointer(ref2); + SmartPsiElementPointer pointer2 = createPointer(ref2); assertNotSame(pointer1, pointer2); PsiElement element1 = pointer1.getElement(); @@ -465,8 +460,8 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiFile file = configureByText(JavaFileType.INSTANCE, text); PsiClass aClass = ((PsiClassOwner)file).getClasses()[0]; SmartPointerManagerImpl smartPointerManager = getPointerManager(); - SmartPsiElementPointer pointer1 = createPointer(aClass); - SmartPsiElementPointer pointer2 = createPointer(aClass); + SmartPsiElementPointer pointer1 = createPointer(aClass); + SmartPsiElementPointer pointer2 = createPointer(aClass); assertSame(pointer1, pointer2); assertNotNull(pointer1.getRange()); @@ -488,7 +483,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiFile file = configureByText(JavaFileType.INSTANCE, text); PsiClass aClass = ((PsiClassOwner)file).getClasses()[0]; SmartPointerManagerImpl smartPointerManager = getPointerManager(); - SmartPsiElementPointerImpl pointer1 = (SmartPsiElementPointerImpl)createPointer(aClass); + SmartPsiElementPointerImpl pointer1 = (SmartPsiElementPointerImpl)createPointer(aClass); for (int i=0; i<1000; i++) { SmartPsiElementPointer pointer2 = createPointer(aClass); assertSame(pointer1, pointer2); @@ -772,9 +767,9 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { PsiJavaFile file = (PsiJavaFile)configureByText(JavaFileType.INSTANCE, text); PsiMethod method = file.getClasses()[0].getMethods()[0]; TextRange originalRange = method.getTextRange(); - SmartPsiElementPointer pointer = createPointer(method); + SmartPsiElementPointer pointer = createPointer(method); - ApplicationManager.getApplication().runWriteAction(() -> EditorModificationUtil.insertStringAtCaret(myEditor, """ + ApplicationManager.getApplication().runWriteAction(() -> EditorModificationUtilEx.insertStringAtCaret(myEditor, """ void m() { } """)); @@ -807,7 +802,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { }"""; PsiFile file = configureByText(JavaFileType.INSTANCE, text); PsiJavaCodeReferenceElement ref = PsiTreeUtil.findElementOfClassAtOffset(file, file.getText().indexOf("<>"), PsiJavaCodeReferenceElement.class, false); - SmartPointerEx pointer = createPointer(ref.getParameterList().getTypeParameterElements()[0]); + SmartPointerEx pointer = createPointer(ref.getParameterList().getTypeParameterElements()[0]); //noinspection UnusedAssignment ref = null; @@ -824,8 +819,8 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { }"""; PsiFile file = configureByText(JavaFileType.INSTANCE, text); PsiMethod method = PsiTreeUtil.findElementOfClassAtOffset(file, file.getText().indexOf("void"), PsiMethod.class, false); - SmartPointerEx pointer1 = createPointer(method.getModifierList()); - SmartPointerEx pointer2 = createPointer(method.getTypeParameterList()); + SmartPointerEx pointer1 = createPointer(method.getModifierList()); + SmartPointerEx pointer2 = createPointer(method.getTypeParameterList()); //noinspection UnusedAssignment method = null; @@ -840,7 +835,7 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { String text = "class Foo extends Bar {}"; PsiFile file = configureByText(JavaFileType.INSTANCE, text); PsiJavaCodeReferenceElement ref = PsiTreeUtil.findElementOfClassAtOffset(file, file.getText().indexOf("Bar"), PsiJavaCodeReferenceElement.class, false); - SmartPointerEx pointer = createPointer(ref); + SmartPointerEx pointer = createPointer(ref); //noinspection UnusedAssignment ref = null; @@ -882,11 +877,11 @@ public class SmartPsiElementPointersTest extends JavaCodeInsightTestCase { String eachTag = "\n" + StringUtil.repeat(" \n", 9) + "\n"; XmlFile file = (XmlFile)createFile("a.xml", "\n" + StringUtil.repeat(eachTag, 500) + ""); List tags = new ArrayList<>(PsiTreeUtil.findChildrenOfType(file.getDocument(), XmlTag.class)); - List pointers = ContainerUtil.map(tags, this::createPointer); + List> pointers = ContainerUtil.map(tags, this::createPointer); ApplicationManager.getApplication().runWriteAction(() -> Benchmark.newBenchmark("smart pointer range update after PSI change", () -> { for (int i = 0; i < tags.size(); i++) { XmlTag tag = tags.get(i); - SmartPsiElementPointer pointer = pointers.get(i); + SmartPsiElementPointer pointer = pointers.get(i); assertEquals(tag.getName().length(), TextRange.create(pointer.getRange()).getLength()); assertEquals(tag.getName().length(), TextRange.create(pointer.getPsiRange()).getLength());