New J2K: preserve comments in DefaultArgumentsConversion

This commit is contained in:
Ilya Kirillov
2019-05-29 14:02:42 +03:00
parent eed55a11ca
commit 60b2b81e9c
3 changed files with 12 additions and 2 deletions
@@ -32,7 +32,7 @@ class BuiltinMembersConversion(private val context: NewJ2kConverterContext) : Re
(receiver.leftNonCodeElements +
receiver.rightNonCodeElements +
selector.leftNonCodeElements +
selector.rightNonCodeElements).dropSpaceesAtBegining()
selector.rightNonCodeElements).dropSpacesAtBegining()
}
return when (conversion.replaceType) {
@@ -102,10 +102,10 @@ class DefaultArgumentsConversion(private val context: NewJ2kConverterContext) :
return applyRecursive(on, ::remapParameterSymbol)
}
parameter.initializer = remapParameterSymbol(defaultValue) as JKExpression
}
element.declarations -= method
calledMethod.appendNonCodeElementsFrom(method)
}
for (method in element.declarations) {
@@ -9,6 +9,7 @@ package org.jetbrains.kotlin.nj2k.tree
interface JKNonCodeElement {
val text: String
}
interface JKSpaceElement : JKNonCodeElement
interface JKCommentElement : JKNonCodeElement
@@ -30,6 +31,15 @@ fun JKNonCodeElementsListOwner.takeNonCodeElementsFrom(other: JKNonCodeElementsL
rightNonCodeElements = other.rightNonCodeElements
}
fun JKNonCodeElementsListOwner.appendNonCodeElementsFrom(other: JKNonCodeElementsListOwner) {
leftNonCodeElements = other.leftNonCodeElements + leftNonCodeElements
rightNonCodeElements = rightNonCodeElements + other.rightNonCodeElements
}
fun List<JKNonCodeElement>.dropSpacesAtBegining() =
dropWhile { it is JKSpaceElement }
fun JKTreeElement.commentsFromInside(): List<JKCommentElement> {
val comments = mutableListOf<JKCommentElement>()
fun recurse(element: JKTreeElement): JKTreeElement {