New J2K: Fix modifiers of local class
This commit is contained in:
committed by
Ilya Kirillov
parent
ec1bc35df7
commit
5e6e5bcf8c
@@ -19,6 +19,7 @@ class InnerClassConversion : RecursiveApplicableConversionBase() {
|
||||
|
||||
private fun applyArmed(element: JKTreeElement, outer: JKClass): JKTreeElement {
|
||||
if (element !is JKClass) return recurseArmed(element, outer)
|
||||
if (element.isLocalClass()) return recurseArmed(element, outer)
|
||||
|
||||
val static = element.extraModifiers.find { it == ExtraModifier.STATIC }
|
||||
if (static != null) {
|
||||
|
||||
@@ -13,7 +13,11 @@ class JavaModifiersConversion(private val context: ConversionContext) : Recursiv
|
||||
override fun applyToElement(element: JKTreeElement): JKTreeElement {
|
||||
if (element is JKVisibilityOwner) {
|
||||
if (element.visibility == Visibility.PACKAGE_PRIVATE) {
|
||||
element.visibility = Visibility.INTERNAL
|
||||
if (element is JKClass && element.isLocalClass()) {
|
||||
element.visibility = Visibility.PUBLIC
|
||||
} else {
|
||||
element.visibility = Visibility.INTERNAL
|
||||
}
|
||||
}
|
||||
}
|
||||
if (element is JKExtraModifiersOwner && element is JKAnnotationListOwner) {
|
||||
|
||||
@@ -63,6 +63,9 @@ interface JKClass : JKDeclaration, JKVisibilityOwner, JKExtraModifiersOwner, JKM
|
||||
}
|
||||
}
|
||||
|
||||
fun JKClass.isLocalClass(): Boolean =
|
||||
parent !is JKClassBody && parent !is JKFile
|
||||
|
||||
val JKClass.declarationList: List<JKDeclaration>
|
||||
get() = classBody.declarations
|
||||
|
||||
|
||||
Reference in New Issue
Block a user