New J2K: Fix class modifiers conversion

This commit is contained in:
Ilya Kirillov
2018-11-13 18:32:45 +03:00
committed by Ilya Kirillov
parent eb0182c5a9
commit 71408c0b14
@@ -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 }
}