New J2K: Make method open only if parent class is open

This commit is contained in:
Ilya Kirillov
2019-02-13 13:14:18 +03:00
committed by Ilya Kirillov
parent 269d3f42c6
commit 0456c6a897
@@ -37,11 +37,13 @@ class ModalityConversion(private val context: ConversionContext) : RecursiveAppl
private fun processMethod(method: JKJavaMethod) {
val psi = method.psi<PsiMethod>()!!
val containingClass = method.parentOfType<JKClass>()
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