From bb2c32a402df1936b09798e90a3478327d8cbd5c Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 22 Nov 2018 00:24:53 +0300 Subject: [PATCH] New J2K: Fix package statement position --- .../org/jetbrains/kotlin/j2k/NewCodeBuilder.kt | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt index 365207bdcbe..aab85554203 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt @@ -117,12 +117,15 @@ class NewCodeBuilder { } override fun visitFile(file: JKFile) { + file.declarationList.find { it is JKPackageDeclaration }?.accept(this) val collectImportsVisitor = CollectImportsVisitor() file.accept(collectImportsVisitor) collectImportsVisitor.collectedFqNames.forEach { printer.printlnWithNoIndent("import ", it.asString()) } - file.acceptChildren(this) + file.declarationList.forEach { + if (it !is JKPackageDeclaration) it.accept(this) + } } override fun visitPackageDeclaration(packageDeclaration: JKPackageDeclaration) { @@ -625,13 +628,9 @@ class NewCodeBuilder { override fun visitClassBody(classBody: JKClassBody) { val declarationsToPrint = classBody.declarations.filterNot { it is JKKtPrimaryConstructor } - if (declarationsToPrint.isNotEmpty()) { - printer.block(multiline = true) { - renderEnumConstants(declarationsToPrint.filterIsInstance()) - renderNonEnumClassDeclarations(declarationsToPrint.filterNot { it is JKEnumConstant }) - } - } else { - printer.println() + printer.block(multiline = true) { + renderEnumConstants(declarationsToPrint.filterIsInstance()) + renderNonEnumClassDeclarations(declarationsToPrint.filterNot { it is JKEnumConstant }) } }