From 0456c6a897fbd5db65bd665bcc00b418aef99168 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 13 Feb 2019 13:14:18 +0300 Subject: [PATCH] New J2K: Make method open only if parent class is open --- .../org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt index 143041c2643..b0800271eb0 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt @@ -37,11 +37,13 @@ class ModalityConversion(private val context: ConversionContext) : RecursiveAppl private fun processMethod(method: JKJavaMethod) { val psi = method.psi()!! + val containingClass = method.parentOfType() method.modality = when { method.modality != Modality.ABSTRACT && (method.psi!! as PsiMethod).findSuperMethods().isNotEmpty() -> Modality.OVERRIDE method.modality == Modality.OPEN && context.converter.settings.openByDefault + && containingClass?.modality == Modality.OPEN && method.visibility != Visibility.PRIVATE -> Modality.OPEN method.modality == Modality.OPEN