From 71408c0b1426fb95363db952d471922619e7d90c Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 13 Nov 2018 18:32:45 +0300 Subject: [PATCH] New J2K: Fix class modifiers conversion --- .../kotlin/j2k/conversions/ModifiersConversion.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ModifiersConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ModifiersConversion.kt index 2b551eca3b1..1666fadf87d 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ModifiersConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/ModifiersConversion.kt @@ -30,11 +30,23 @@ class ModifiersConversion(private val context: ConversionContext) : RecursiveApp if (element is JKKtConstructor) { convertConstructorModifiers(element) } + if (element is JKClass) { + convertClassModifiers(element) + } element.sortModifiers() } return recurse(element) } + private fun convertClassModifiers(klass: JKClass) { + val isPackagePrivate = klass.modifierList.visibility == JKAccessModifier.Visibility.PACKAGE_PRIVATE + val parentClassIsInternal = + (klass.parent as? JKClass)?.modifierList?.visibility == JKAccessModifier.Visibility.INTERNAL + if (isPackagePrivate || parentClassIsInternal) { + klass.modifierList.visibility = JKAccessModifier.Visibility.INTERNAL + } + } + private fun convertConstructorModifiers(constructor: JKKtConstructor) { constructor.filterModifiers { it !is JKModalityModifier } }