PY-64326 implement incremental parsing for PyStatementList PSI elements

These changes make PyStatementList elements (which are function and class bodies, cycle bodies, if-else branches, etc.) lazy-parseable which means they can now be reparsed without reparsing the whole file if changes are happened inside them accepted as safe

The main reason behind these changes is to improve performance

GitOrigin-RevId: 892acbe0c95fde6aec74b7595b0a58f902c426f5
This commit is contained in:
Daniil Kalinin
2024-05-07 13:07:09 +02:00
committed by intellij-monorepo-bot
parent eff6477fc2
commit ba6015d27f
13 changed files with 445 additions and 62 deletions

View File

@@ -465,6 +465,8 @@
description="Require marking namespace packages explicitly, treat regular directories as implicit source roots"/>
<registryKey key="python.type.hints.literal.string" defaultValue="true"
description="When enabled, activates LiteralString inference for Python string literals" />
<registryKey key="python.statement.lists.incremental.reparse" defaultValue="true"
description="Enables incremental reparse for statement lists"/>
</extensions>