Don't add a blank line between one line class and object (KT-10965)

This commit is contained in:
Nikolay Krasko
2016-03-14 15:33:26 +03:00
parent 61090d7027
commit ee50aec734
3 changed files with 110 additions and 5 deletions
@@ -54,6 +54,9 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
custom { custom {
inPosition(left = CLASS, right = CLASS).emptyLinesIfLineBreakInLeft(1) inPosition(left = CLASS, right = CLASS).emptyLinesIfLineBreakInLeft(1)
inPosition(left = CLASS, right = OBJECT_DECLARATION).emptyLinesIfLineBreakInLeft(1)
inPosition(left = OBJECT_DECLARATION, right = OBJECT_DECLARATION).emptyLinesIfLineBreakInLeft(1)
inPosition(left = OBJECT_DECLARATION, right = CLASS).emptyLinesIfLineBreakInLeft(1)
inPosition(left = FUN, right = FUN).emptyLinesIfLineBreakInLeft(1) inPosition(left = FUN, right = FUN).emptyLinesIfLineBreakInLeft(1)
inPosition(left = PROPERTY, right = FUN).emptyLinesIfLineBreakInLeft(1) inPosition(left = PROPERTY, right = FUN).emptyLinesIfLineBreakInLeft(1)
inPosition(left = FUN, right = PROPERTY).emptyLinesIfLineBreakInLeft(1) inPosition(left = FUN, right = PROPERTY).emptyLinesIfLineBreakInLeft(1)
@@ -95,7 +98,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
before(DOC_COMMENT).lineBreakInCode() before(DOC_COMMENT).lineBreakInCode()
between(PROPERTY, PROPERTY).lineBreakInCode() between(PROPERTY, PROPERTY).lineBreakInCode()
// CLASS - CLASS is exception // CLASS - CLASS, CLASS - OBJECT_DECLARATION are exception
between(CLASS, DECLARATIONS).blankLines(1) between(CLASS, DECLARATIONS).blankLines(1)
// FUN - FUN, FUN - PROPERTY, FUN - CLASS are exceptions // FUN - FUN, FUN - PROPERTY, FUN - CLASS are exceptions
@@ -104,6 +107,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings): KotlinSpacingBuilder {
// PROPERTY - PROPERTY, PROPERTY - FUN are exceptions // PROPERTY - PROPERTY, PROPERTY - FUN are exceptions
between(PROPERTY, DECLARATIONS).blankLines(1) between(PROPERTY, DECLARATIONS).blankLines(1)
// OBJECT_DECLARATION - OBJECT_DECLARATION, CLASS - OBJECT_DECLARATION are exception
between(OBJECT_DECLARATION, DECLARATIONS).blankLines(1) between(OBJECT_DECLARATION, DECLARATIONS).blankLines(1)
between(SECONDARY_CONSTRUCTOR, DECLARATIONS).blankLines(1) between(SECONDARY_CONSTRUCTOR, DECLARATIONS).blankLines(1)
between(CLASS_INITIALIZER, DECLARATIONS).blankLines(1) between(CLASS_INITIALIZER, DECLARATIONS).blankLines(1)
@@ -1,7 +1,12 @@
object O1 object O1
object O2 object O2
// -----
object O1M {
}
object O2M
// ----- // -----
object O3 object O3
@@ -17,17 +22,29 @@ val p1 = 1
// ----- // -----
object O5 object O5
class C1 class C1
// ----- // -----
object O6 object O5M {
}
class C1M
// -----
object O6
interface T1 interface T1
// ----- // -----
object O6M {
}
interface T1M
// -----
enum class E1 { enum class E1 {
ENTRY; ENTRY;
@@ -37,6 +54,12 @@ enum class E1 {
// ----- // -----
object O8 {} object O8 {}
object O9
// -----
object O8 {
}
object O9 object O9
@@ -55,12 +78,24 @@ val p2 = 1
// ----- // -----
object O12 {} object O12 {}
class C2 class C2
// ----- // -----
object O12M {
}
class C2M
// -----
object O13 {} object O13 {}
interface T2
// -----
object O14 {
}
interface T2 interface T2
@@ -115,3 +150,19 @@ enum class E3 {
object O21 { object O21 {
} }
} }
// -----
sealed class C4 {
class C5 : C4()
object O22 : C4()
}
// -----
sealed class C6 {
class C7 : C6() {
}
object O23 : C6()
}
@@ -1,6 +1,11 @@
object O1 object O1
object O2 object O2
// -----
object O1M {
}
object O2M
// ----- // -----
object O3 object O3
@@ -18,11 +23,23 @@ class C1
// ----- // -----
object O5M {
}
class C1M
// -----
object O6 object O6
interface T1 interface T1
// ----- // -----
object O6M {
}
interface T1M
// -----
enum class E1 { enum class E1 {
ENTRY; ENTRY;
object O7 object O7
@@ -35,6 +52,12 @@ object O9
// ----- // -----
object O8 {
}
object O9
// -----
object O10 {} object O10 {}
fun f2() = 1 fun f2() = 1
@@ -50,11 +73,23 @@ class C2
// ----- // -----
object O12M {
}
class C2M
// -----
object O13 {} object O13 {}
interface T2 interface T2
// ----- // -----
object O14 {
}
interface T2
// -----
enum class E2 { enum class E2 {
ENTRY; ENTRY;
object O14 {} object O14 {}
@@ -97,3 +132,18 @@ enum class E3 {
object O21 { object O21 {
} }
} }
// -----
sealed class C4 {
class C5 : C4()
object O22 : C4()
}
// -----
sealed class C6 {
class C7 : C6() {
}
object O23 : C6()
}