in src/commonMain/kotlin/org/intellij/markdown/parser/sequentialparsers/SequentialParserManager.kt [18:42]
fun runParsingSequence(
tokensCache: TokensCache,
rangesToParse: List<IntRange>,
cancellationToken: CancellationToken
): Collection<SequentialParser.Node> {
val result = ArrayList<SequentialParser.Node>()
var parsingSpaces = ArrayList<List<IntRange>>()
parsingSpaces.add(rangesToParse)
for (sequentialParser in getParserSequence()) {
cancellationToken.checkCancelled()
val nextLevelSpaces = ArrayList<List<IntRange>>()
for (parsingSpace in parsingSpaces) {
val currentResult = sequentialParser.parse(tokensCache, parsingSpace)
result.addAll(currentResult.parsedNodes)
nextLevelSpaces.addAll(currentResult.rangesToProcessFurther)
}
parsingSpaces = nextLevelSpaces
}
return result
}