From 61d6709cb7bdba9f19b6fe46f6df4f8865d19987 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 9 Nov 2018 11:03:58 +0300 Subject: [PATCH] New J2K: Add temporary sorting of class declarations --- .../jetbrains/kotlin/j2k/ConversionsRunner.kt | 1 + .../conversions/SortClassMembersConversion.kt | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SortClassMembersConversion.kt diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt index 290eb8bb05c..3d72e071967 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt @@ -54,6 +54,7 @@ object ConversionsRunner { +InstanceOfConversion() +ForConversion(context) +LabeledStatementConversion() + +SortClassMembersConversion() } fun doApply(trees: List, context: ConversionContext) { diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SortClassMembersConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SortClassMembersConversion.kt new file mode 100644 index 00000000000..f3e5a351a22 --- /dev/null +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/SortClassMembersConversion.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.j2k.conversions + +import org.jetbrains.kotlin.j2k.ast.EnumConstant +import org.jetbrains.kotlin.j2k.tree.* + +//TODO temporary +class SortClassMembersConversion : RecursiveApplicableConversionBase() { + override fun applyToElement(element: JKTreeElement): JKTreeElement { + if (element !is JKClass) return recurse(element) + element.declarationList = element.declarationList + .sortedByDescending { it is JKField } + return recurse(element) + } +} \ No newline at end of file