mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 22:09:38 +07:00
drop caches more often
This commit is contained in:
@@ -173,6 +173,7 @@ public class RefClassImpl extends RefJavaElementImpl implements RefClass {
|
||||
final PsiClass applet = getRefJavaManager().getApplet();
|
||||
setApplet(applet != null && psiClass.isInheritor(applet, true));
|
||||
getRefManager().fireNodeInitialized(this);
|
||||
getRefManager().getPsiManager().dropResolveCaches();
|
||||
}
|
||||
|
||||
private void initializeSuperReferences(PsiClass psiClass) {
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiManager;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -108,4 +109,6 @@ public abstract class RefManager {
|
||||
public abstract String getQualifiedName(RefEntity refEntity);
|
||||
|
||||
public abstract void removeRefElement(RefElement refElement, List<RefElement> deletedRefs);
|
||||
|
||||
public abstract PsiManager getPsiManager();
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@ public class RefManagerImpl extends RefManager {
|
||||
private THashMap<Module, RefModule> myModules;
|
||||
private final ProjectIterator myProjectIterator;
|
||||
private boolean myDeclarationsFound;
|
||||
private final PsiManager myPsiManager;
|
||||
|
||||
private boolean myIsInProcess = false;
|
||||
|
||||
@@ -83,6 +84,7 @@ public class RefManagerImpl extends RefManager {
|
||||
myProject = project;
|
||||
myScope = scope;
|
||||
myContext = context;
|
||||
myPsiManager = PsiManager.getInstance(project);
|
||||
myRefProject = new RefProjectImpl(this);
|
||||
myRefTable = new THashMap<PsiAnchor, RefElement>();
|
||||
myProjectIterator = new ProjectIterator();
|
||||
@@ -298,6 +300,11 @@ public class RefManagerImpl extends RefManager {
|
||||
return myRefTable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PsiManager getPsiManager() {
|
||||
return myPsiManager;
|
||||
}
|
||||
|
||||
public void removeReference(RefElement refElem) {
|
||||
myLock.writeLock().lock();
|
||||
try {
|
||||
@@ -366,6 +373,7 @@ public class RefManagerImpl extends RefManager {
|
||||
for (Language language : relevantLanguages) {
|
||||
visitElement(viewProvider.getPsi(language));
|
||||
}
|
||||
myPsiManager.dropResolveCaches();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user