mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fix aop test: all PSI is invalidated on file type change (IDEA-CR-21137)
This commit is contained in:
+3
@@ -74,6 +74,9 @@ public class SmartPointerManagerImpl extends SmartPointerManager {
|
||||
PsiFile containingFile,
|
||||
boolean forInjected) {
|
||||
if (containingFile != null && !containingFile.isValid() || containingFile == null && !element.isValid()) {
|
||||
if (containingFile != null) {
|
||||
PsiUtilCore.ensureValid(containingFile);
|
||||
}
|
||||
PsiUtilCore.ensureValid(element);
|
||||
LOG.error("Invalid element:" + element);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,9 @@ package com.intellij.testFramework;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.SmartPointerManager;
|
||||
import com.intellij.psi.SmartPsiElementPointer;
|
||||
import com.intellij.psi.impl.source.resolve.FileContextUtil;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author peter
|
||||
@@ -14,7 +16,11 @@ import com.intellij.psi.impl.source.resolve.FileContextUtil;
|
||||
public abstract class LiteFixture extends PlatformLiteFixture {
|
||||
public static void setContext(final PsiFile psiFile, final PsiElement context) {
|
||||
if (context != null) {
|
||||
psiFile.putUserData(FileContextUtil.INJECTED_IN_ELEMENT, SmartPointerManager.getInstance(context.getProject()).createSmartPsiElementPointer(context));
|
||||
setFileContext(psiFile, SmartPointerManager.getInstance(context.getProject()).createSmartPsiElementPointer(context));
|
||||
}
|
||||
}
|
||||
|
||||
public static void setFileContext(PsiFile psiFile, @Nullable SmartPsiElementPointer<?> pointer) {
|
||||
psiFile.putUserData(FileContextUtil.INJECTED_IN_ELEMENT, pointer);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user