void (@NotNull PsiFileImpl file) { if (isCommitInProgress()) throw new IllegalStateException("Re-entrant commit is not allowed"); FileElement node = file.calcTreeElement(); CharSequence text = node.getChars(); ourIsFullReparseInProgress.set(Boolean.TRUE); try { ProgressIndicator indicator = EmptyProgressIndicator.notNullize(ProgressIndicatorProvider.getGlobalProgressIndicator()); DiffLog log = BlockSupportImpl.makeFullParse(file, node, text, indicator, text).log; log.doActualPsiChange(file); file.getViewProvider().contentsSynchronized(); } finally { ourIsFullReparseInProgress.remove(); } }