in trace-recorder/src/main/org/jetbrains/lincheck/trace/recorder/TraceCollectingEventTracker.kt [110:124]
fun enterAnalysisSection(section: AnalysisSectionType) {
if (section == AnalysisSectionType.IGNORED) {
enterIgnoredSection()
return
}
val currentSection = analysisSectionStack.lastOrNull()
if (currentSection != null && currentSection.isCallStackPropagating() && section < currentSection) {
analysisSectionStack.add(currentSection)
} else {
analysisSectionStack.add(section)
}
if (section == AnalysisSectionType.ATOMIC) {
enterIgnoredSection()
}
}