diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/InnerClassConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/InnerClassConversion.kt index 8da66f5f44d..e3bc5e580ba 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/InnerClassConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/InnerClassConversion.kt @@ -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) { diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaModifiersConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaModifiersConversion.kt index bfbf0872b2e..d65ed870a7b 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaModifiersConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaModifiersConversion.kt @@ -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) { diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt index 381db5ebcb7..08438d16b71 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt @@ -63,6 +63,9 @@ interface JKClass : JKDeclaration, JKVisibilityOwner, JKExtraModifiersOwner, JKM } } +fun JKClass.isLocalClass(): Boolean = + parent !is JKClassBody && parent !is JKFile + val JKClass.declarationList: List get() = classBody.declarations