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) {
is JKClass -> processClass(element)
is JKJavaMethod -> processMethod(element)
is JKField -> processField(element)
}
return recurse(element)
}
@@ -51,4 +52,11 @@ class ModalityConversion(private val context: ConversionContext) : RecursiveAppl
else -> method.modality
}
}
private fun processField(field: JKField) {
val containingClass = field.parentOfType<JKClass>()!!
if (containingClass.classKind == JKClass.ClassKind.INTERFACE) {
field.modality = Modality.FINAL
}
}
}