From 8d87800a05c025d9077a08273e4622d978dacf8f Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Fri, 5 Feb 2016 08:36:39 +0300 Subject: [PATCH] Fix JVM crash Replace inlined 'let' containing complicated control flow with common `if` --- .../kotlin/idea/formatter/KotlinPreFormatProcessor.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinPreFormatProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinPreFormatProcessor.kt index 2a9fdd46cd2..bd88d1def48 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinPreFormatProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinPreFormatProcessor.kt @@ -43,14 +43,14 @@ private class Visitor(var range: TextRange) : KtTreeVisitorVoid() { if (declaration is KtEnumEntry) { val comma = KtPsiFactory(klass).createComma() - declaration.nextSiblingOfSameType()?.let { nextEntry -> - if (declaration.containsToken(KtTokens.COMMA)) return@let + val nextEntry = declaration.nextSiblingOfSameType() + if (nextEntry != null && !declaration.containsToken(KtTokens.COMMA)) { classBody.addAfter(comma, declaration) delta += comma.textLength } - declaration.prevSiblingOfSameType()?.let { prevEntry -> - if (prevEntry.containsToken(KtTokens.COMMA)) return@let + val prevEntry = declaration.prevSiblingOfSameType() + if (prevEntry != null && !prevEntry.containsToken(KtTokens.COMMA)) { classBody.addAfter(comma, prevEntry) delta += comma.textLength }