mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 08:51:02 +07:00
Kotlin 1.5 doesn't write tag for 'jvmTarget' option if its value is '1.8', and does write it if its value is '1.6', so this change is needed to avoid modified iml files if the project is opened with Kotlin plugin 1.5 (see KTIJ-19019). GitOrigin-RevId: 8fc21bf185ac8c23675123b904f25af5defcc98e
Coroutine Debugger support
Java thread stack with coroutine information
- Real frames
- Coroutine 'preflight' frame: SuspendExitMode
is
SUSPEND_LAMBDAorSUSPEND_METHOD_PARAMETER. Location.isPreflight - One or more frames (skipped in debugger)
- Coroutine 'starting' frame: SuspendExitMode
SUSPEND_METHODframe - Restored from coroutine information frames
- Real frames after the 'starting' frame
- Creation frames (only exists if coroutine agent enabled)
Debugger interface
Debugger works as a combination of PositionManager and AsyncStackTraceProvider. Once the 'preflight' signature frame found PositionManager forms a 'preflight' frame with coroutine information which gets processed with AsyncStackTraceProvider.