From 6299e0e941ae84e144fcaeabcd9aff822c67f3d7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 2 Jan 2018 18:07:02 +0100 Subject: [PATCH] Check correct element to determine if 'if' rbrace needs wrapping #KT-22093 Fixed --- .../idea/formatter/kotlinSpacingRules.kt | 19 ++++--------------- idea/testData/formatter/IfRParen.after.kt | 4 ++++ idea/testData/formatter/IfRParen.kt | 4 ++++ 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt index 743f5b25c63..4e5ca59e1ce 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -1,17 +1,6 @@ /* - * Copyright 2010-2016 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. */ package org.jetbrains.kotlin.idea.formatter @@ -186,10 +175,10 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing } } - inPosition(left = CONDITION, right = RPAR).customRule { parent, _, _ -> + inPosition(left = CONDITION, right = RPAR).customRule { parent, left, _ -> if (kotlinCustomSettings.IF_RPAREN_ON_NEW_LINE) { Spacing.createDependentLFSpacing(0, 0, - excludeLambdasAndObjects(parent), + excludeLambdasAndObjects(left), commonCodeStyleSettings.KEEP_LINE_BREAKS, commonCodeStyleSettings.KEEP_BLANK_LINES_IN_CODE) } diff --git a/idea/testData/formatter/IfRParen.after.kt b/idea/testData/formatter/IfRParen.after.kt index 64f292cef0a..8e299499c48 100644 --- a/idea/testData/formatter/IfRParen.after.kt +++ b/idea/testData/formatter/IfRParen.after.kt @@ -4,6 +4,10 @@ fun x() { ) { println("> 0") } + + if (foo.length > 0) { + println("> 0") + } } // SET_TRUE: IF_RPAREN_ON_NEW_LINE diff --git a/idea/testData/formatter/IfRParen.kt b/idea/testData/formatter/IfRParen.kt index 715959e37fa..d9ac4349bfe 100644 --- a/idea/testData/formatter/IfRParen.kt +++ b/idea/testData/formatter/IfRParen.kt @@ -3,6 +3,10 @@ fun x() { barLen > 0) { println("> 0") } + + if (foo.length > 0) { + println("> 0") + } } // SET_TRUE: IF_RPAREN_ON_NEW_LINE