J2K: more correct comment placement
This commit is contained in:
@@ -400,7 +400,12 @@ class Converter private constructor(
|
||||
setter,
|
||||
classKind == ClassKind.INTERFACE
|
||||
)
|
||||
return property.assignPrototype(field as PsiElement? ?: getMethod ?: setMethod)
|
||||
|
||||
val placementElement = field ?: getMethod ?: setMethod
|
||||
val prototypes = listOf<PsiElement?>(field, getMethod, setMethod)
|
||||
.filterNotNull()
|
||||
.map { PrototypeInfo(it, if (it == placementElement) CommentsAndSpacesInheritance.LINE_BREAKS else CommentsAndSpacesInheritance.NO_SPACES) }
|
||||
return property.assignPrototypes(*prototypes.toTypedArray())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
class A {
|
||||
// Comment for field1
|
||||
private int field1 = 0;
|
||||
private int field2; // comment for field2
|
||||
|
||||
// comment before field3
|
||||
private int field3; // comment for field3
|
||||
|
||||
public A(int field2) {
|
||||
this.field2 = field2;
|
||||
}
|
||||
|
||||
// Comment for field1 getter
|
||||
public int getField1() {
|
||||
return field1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comment for field1 setter
|
||||
*/
|
||||
public void setField1(int field1) {
|
||||
this.field1 = field1;
|
||||
}
|
||||
|
||||
// comment for field2 getter
|
||||
public int getField2() {
|
||||
return field2;
|
||||
}
|
||||
|
||||
// comment for field2 setter
|
||||
public void setField2(int field2) {
|
||||
this.field2 = field2;
|
||||
}
|
||||
|
||||
public int getField3() { return field3; } // comment for field3 getter
|
||||
public void setField3(int field3) { this.field3 = field3; } // comment for field3 setter
|
||||
|
||||
// comment for getProperty
|
||||
public int getProperty() {
|
||||
return 1;
|
||||
} // end of getProperty
|
||||
|
||||
// comment for setProperty
|
||||
public void setProperty(int value) {
|
||||
} // end of setProperty
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
internal class A(// comment for field2 getter
|
||||
// comment for field2 setter
|
||||
var field2: Int // comment for field2
|
||||
) {
|
||||
// Comment for field1
|
||||
// Comment for field1 getter
|
||||
/**
|
||||
* Comment for field1 setter
|
||||
*/
|
||||
var field1 = 0
|
||||
|
||||
// comment before field3
|
||||
var field3: Int = 0 // comment for field3
|
||||
// comment for field3 getter
|
||||
// comment for field3 setter
|
||||
|
||||
// comment for getProperty
|
||||
// comment for setProperty
|
||||
var property: Int
|
||||
get() = 1
|
||||
set(value: Int) {
|
||||
} // end of getProperty
|
||||
// end of setProperty
|
||||
}
|
||||
@@ -1411,6 +1411,12 @@ public class JavaToKotlinConverterForWebDemoTestGenerated extends AbstractJavaTo
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Comments.java")
|
||||
public void testComments() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("j2k/testData/fileOrElement/detectProperties/Comments.java");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DataClass.java")
|
||||
public void testDataClass() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("j2k/testData/fileOrElement/detectProperties/DataClass.java");
|
||||
|
||||
@@ -1411,6 +1411,12 @@ public class JavaToKotlinConverterSingleFileTestGenerated extends AbstractJavaTo
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("Comments.java")
|
||||
public void testComments() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("j2k/testData/fileOrElement/detectProperties/Comments.java");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("DataClass.java")
|
||||
public void testDataClass() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("j2k/testData/fileOrElement/detectProperties/DataClass.java");
|
||||
|
||||
Reference in New Issue
Block a user