mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
when the file has no stub tree, stub elements in it are invalid
This commit is contained in:
@@ -35,11 +35,11 @@ class StubAstSwitchTest extends LightCodeInsightFixtureTestCase {
|
||||
def oldCount = psiManager.modificationTracker.javaStructureModificationCount
|
||||
|
||||
ApplicationManager.application.runWriteAction { file.virtualFile.setBinaryContent(file.virtualFile.contentsToByteArray()) }
|
||||
assert file.stub
|
||||
|
||||
assert psiManager.modificationTracker.javaStructureModificationCount != oldCount
|
||||
|
||||
assert !cls.valid
|
||||
assert file.stub
|
||||
assert cls != PsiTreeUtil.findElementOfClassAtOffset(file, 1, PsiClass, false)
|
||||
assert !file.stub
|
||||
}
|
||||
|
||||
@@ -249,15 +249,12 @@ public abstract class PsiFileImpl extends ElementBase implements PsiFileEx, PsiF
|
||||
return findTreeForStub(ast, stubs, stub);
|
||||
}
|
||||
|
||||
public boolean isStubBasedChildValid(@NotNull StubBasedPsiElementBase psi) {
|
||||
StubTree fileStub = derefStub();
|
||||
if (fileStub != null) {
|
||||
synchronized (myStubLock) {
|
||||
fileStub = derefStub();
|
||||
StubElement childStub = psi.getStub();
|
||||
if (fileStub != null && childStub != null && fileStub.getRoot() != childStub.getParentStub()) {
|
||||
return false;
|
||||
}
|
||||
public boolean isStubBasedChildValid(@NotNull StubBasedPsiElementBase child) {
|
||||
synchronized (myStubLock) {
|
||||
StubTree fileStub = derefStub();
|
||||
StubElement childStub = child.getStub();
|
||||
if (fileStub == null || childStub != null && fileStub.getRoot() != childStub.getParentStub()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return isValid();
|
||||
|
||||
Reference in New Issue
Block a user