From a87de01c74d9f6a7fd643b798c18f2fc8fd50d64 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 9 Jan 2020 18:32:47 +0300 Subject: [PATCH] New J2K: add missing line break between property and getter #KT-35739 fixed --- .../ConvertGettersAndSettersToPropertyProcessing.kt | 1 + nj2k/testData/newJ2k/detectProperties/kt-31700.kt | 3 ++- nj2k/testData/newJ2k/detectProperties/kt-35739.java | 10 ++++++++++ nj2k/testData/newJ2k/detectProperties/kt-35739.kt | 9 +++++++++ nj2k/testData/newJ2k/function/nativeMethods.kt | 4 +++- ...ewJavaToKotlinConverterSingleFileTestGenerated.java | 5 +++++ 6 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 nj2k/testData/newJ2k/detectProperties/kt-35739.java create mode 100644 nj2k/testData/newJ2k/detectProperties/kt-35739.kt diff --git a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/processings/ConvertGettersAndSettersToPropertyProcessing.kt b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/processings/ConvertGettersAndSettersToPropertyProcessing.kt index 2d9f53d7923..75ffd630525 100644 --- a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/processings/ConvertGettersAndSettersToPropertyProcessing.kt +++ b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/processings/ConvertGettersAndSettersToPropertyProcessing.kt @@ -182,6 +182,7 @@ private class ConvertGettersAndSettersToPropertyStatefulProcessing( val ktGetter = factory.createGetter(body, getter.modifiersText) ktGetter.filterModifiers() + property.add(factory.createNewLine(1)) return property.add(ktGetter).cast().also { if (getter is RealGetter) { getter.function.forAllUsages { usage -> diff --git a/nj2k/testData/newJ2k/detectProperties/kt-31700.kt b/nj2k/testData/newJ2k/detectProperties/kt-31700.kt index a104fde7c59..61851c97187 100644 --- a/nj2k/testData/newJ2k/detectProperties/kt-31700.kt +++ b/nj2k/testData/newJ2k/detectProperties/kt-31700.kt @@ -4,5 +4,6 @@ interface Parent { } //Subclass class Child : Parent { - override val x: Unit get() {} + override val x: Unit + get() {} } \ No newline at end of file diff --git a/nj2k/testData/newJ2k/detectProperties/kt-35739.java b/nj2k/testData/newJ2k/detectProperties/kt-35739.java new file mode 100644 index 00000000000..8a5f89f46ec --- /dev/null +++ b/nj2k/testData/newJ2k/detectProperties/kt-35739.java @@ -0,0 +1,10 @@ +public class Foo { + private String value; + + private String getValue() { + if (true) { + value = "new"; + } + return value; + } +} \ No newline at end of file diff --git a/nj2k/testData/newJ2k/detectProperties/kt-35739.kt b/nj2k/testData/newJ2k/detectProperties/kt-35739.kt new file mode 100644 index 00000000000..da0c5ac303a --- /dev/null +++ b/nj2k/testData/newJ2k/detectProperties/kt-35739.kt @@ -0,0 +1,9 @@ +class Foo { + private var value: String? = null + private get() { + if (true) { + field = "new" + } + return field + } +} diff --git a/nj2k/testData/newJ2k/function/nativeMethods.kt b/nj2k/testData/newJ2k/function/nativeMethods.kt index dff7a58e145..a3285716707 100644 --- a/nj2k/testData/newJ2k/function/nativeMethods.kt +++ b/nj2k/testData/newJ2k/function/nativeMethods.kt @@ -1,4 +1,6 @@ class Foo { private external fun nativeMethod() - var bar: Int external get external set + var bar: Int + external get + external set } \ No newline at end of file diff --git a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java index f6aa9a2ab11..8130f1ffd47 100644 --- a/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java +++ b/nj2k/tests/org/jetbrains/kotlin/nj2k/NewJavaToKotlinConverterSingleFileTestGenerated.java @@ -1595,6 +1595,11 @@ public class NewJavaToKotlinConverterSingleFileTestGenerated extends AbstractNew runTest("nj2k/testData/newJ2k/detectProperties/kt-32253.java"); } + @TestMetadata("kt-35739.java") + public void testKt_35739() throws Exception { + runTest("nj2k/testData/newJ2k/detectProperties/kt-35739.java"); + } + @TestMetadata("NoBackingField.java") public void testNoBackingField() throws Exception { runTest("nj2k/testData/newJ2k/detectProperties/NoBackingField.java");