mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
don't perform expensive PsiAnchor and smart pointer sanity checks during performance tests
This commit is contained in:
@@ -21,6 +21,7 @@ import com.intellij.injected.editor.VirtualFileWindow;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
@@ -62,8 +63,11 @@ public abstract class PsiAnchor {
|
||||
PsiUtilCore.ensureValid(element);
|
||||
|
||||
PsiAnchor anchor = doCreateAnchor(element);
|
||||
if (ApplicationManager.getApplication().isUnitTestMode() && !element.equals(anchor.retrieve())) {
|
||||
LOG.error("Cannot restore element " + element + " of " + element.getClass() + " from anchor " + anchor);
|
||||
if (ApplicationManager.getApplication().isUnitTestMode() && !ApplicationInfoImpl.isInStressTest()) {
|
||||
PsiElement restored = anchor.retrieve();
|
||||
if (!element.equals(restored)) {
|
||||
LOG.error("Cannot restore element " + element + " of " + element.getClass() + " from anchor " + anchor + ", getting " + restored + " instead");
|
||||
}
|
||||
}
|
||||
return anchor;
|
||||
}
|
||||
|
||||
+2
-1
@@ -19,6 +19,7 @@ package com.intellij.psi.impl.smartPointers;
|
||||
import com.intellij.lang.LanguageUtil;
|
||||
import com.intellij.lang.injection.InjectedLanguageManager;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
@@ -150,7 +151,7 @@ class SmartPsiElementPointerImpl<E extends PsiElement> implements SmartPointerEx
|
||||
PsiFile containingFile,
|
||||
boolean forInjected) {
|
||||
SmartPointerElementInfo elementInfo = doCreateElementInfo(manager.getProject(), element, containingFile, forInjected);
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode() && !ApplicationInfoImpl.isInStressTest()) {
|
||||
PsiElement restored = elementInfo.restoreElement(manager);
|
||||
if (!element.equals(restored)) {
|
||||
// likely cause: PSI having isPhysical==true, but which can't be restored by containing file and range. To fix, make isPhysical return false
|
||||
|
||||
Reference in New Issue
Block a user