guard against invalid context during reparse (EA-116336 - PIEAE: LeafPsiElement.invalid)

This commit is contained in:
peter
2018-02-26 16:16:11 +01:00
parent 2770110d88
commit d8b6fa309b
@@ -211,7 +211,8 @@ public class BlockSupportImpl extends BlockSupport {
@NotNull CharSequence lastCommittedText) {
if (fileImpl instanceof PsiCodeFragment) {
FileElement parent = fileImpl.getTreeElement();
final FileElement holderElement = new DummyHolder(fileImpl.getManager(), fileImpl.getContext()).getTreeElement();
PsiElement context = fileImpl.getContext();
FileElement holderElement = new DummyHolder(fileImpl.getManager(), context.isValid() ? context : null).getTreeElement();
holderElement.rawAddChildren(fileImpl.createContentLeafElement(holderElement.getCharTable().intern(newFileText, 0, newFileText.length())));
DiffLog diffLog = new DiffLog();
diffLog.appendReplaceFileElement(parent, (FileElement)holderElement.getFirstChildNode());