diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/PrimaryConstructorDetectConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/PrimaryConstructorDetectConversion.kt index b69402dbaea..8b06020ba2c 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/PrimaryConstructorDetectConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/PrimaryConstructorDetectConversion.kt @@ -33,6 +33,10 @@ class PrimaryConstructorDetectConversion(private val context: ConversionContext) if (primaryConstructorCandidate.block.statements.isNotEmpty()) { val initDeclaration = JKKtInitDeclarationImpl(primaryConstructorCandidate.block) .withNonCodeElementsFrom(primaryConstructorCandidate) + primaryConstructorCandidate.clearNonCodeElements() + for (modifierElement in primaryConstructorCandidate.modifierElements()) { + modifierElement.clearNonCodeElements() + } element.classBody.declarations = element.classBody.declarations.replace(primaryConstructorCandidate, initDeclaration) } else { diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/tree/tokens.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/tree/tokens.kt index 4c57cb0de34..bc39b02194a 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/tree/tokens.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/tree/tokens.kt @@ -43,6 +43,10 @@ fun JKTreeElement.commentsFromInside(): List { inline fun T.withNonCodeElementsFrom(other: JKNonCodeElementsListOwner): T = also { it.takeNonCodeElementsFrom(other) } +inline fun JKNonCodeElementsListOwner.clearNonCodeElements() { + leftNonCodeElements = emptyList() + rightNonCodeElements = emptyList() +} interface JKTokenElement : JKNonCodeElementsListOwner { val text: String