Если код, который вы пропустили, не имеет каких-либо странных побочных эффектов, этот код должен быть семантически равным:
when {
!reached && !info -> {
d.sinfo = extractinfo()
info = true
}
!reached && info -> {
parserMessage("print something")
return d
}
d.media.isEmpty() -> {
parserMessage("print something")
return d
}
d.media.at(d.media.size() - 1).media_information.isEmpty() -> {
d.media[d.media.size() - 1].minfo = extractinfo()
}
else -> {
parserMessage("print something")
return d
}
}
Однако, чтобы сказать это, я должен был заполнить пробелы в коде, который вы представили сами, поэтому я не могу утверждать это очень уверенно. Это действительно повышает ваши шансы получить хороший ответ, если код, с которым вы хотите помочь, работает / понятен в том виде, в котором он представлен.
Кстати. Этот рефакторинг был частично выполнен путем вставки кода в IntelliJ и нажатия Alt + Enter и выбора «Заменить», если «на», когда »и« Сгладить, когда »