New J2K: Process fields in modality conversion

This commit is contained in:
Ilya Kirillov
2019-03-12 12:09:22 +03:00
committed by Ilya Kirillov
parent b6625c536d
commit b24ce99097
@@ -16,6 +16,7 @@ class ModalityConversion(private val context: ConversionContext) : RecursiveAppl
when (element) { when (element) {
is JKClass -> processClass(element) is JKClass -> processClass(element)
is JKJavaMethod -> processMethod(element) is JKJavaMethod -> processMethod(element)
is JKField -> processField(element)
} }
return recurse(element) return recurse(element)
} }
@@ -51,4 +52,11 @@ class ModalityConversion(private val context: ConversionContext) : RecursiveAppl
else -> method.modality else -> method.modality
} }
} }
private fun processField(field: JKField) {
val containingClass = field.parentOfType<JKClass>()!!
if (containingClass.classKind == JKClass.ClassKind.INTERFACE) {
field.modality = Modality.FINAL
}
}
} }