[EnC] Optimize EnC document analysis
- Dominant language
- C#
- Stars
- 20.7k
- Forks
- 4.3k
- PR merge metrics
- PR metrics pending
Description
Opportunities for improvement:
We cache document analyses on `EditSession` instance, which is discarded every time the debugger calls `BreakStateOrCapabilitiesChanged`.
Capabilities virtually do not change -- they can only change when debugger attaches/detaches from a runtime that has different capabilities. That's rare.
Active statements change every "step". They however impact only method body analysis of active methods. If stepping within a method body, we could only reanalyze that one method body.
Contributor guide
Research direction
Start at the EditSession document-analysis cache and the debugger's BreakStateOrCapabilitiesChanged path. Trace how capability changes and active statements invalidate analyses, then verify that unchanged capabilities reuse cached results and stepping within a method limits reanalysis to the active method body.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100