From b24ce990976795d91fdcd61da4d4b6f97f445844 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 12 Mar 2019 12:09:22 +0300 Subject: [PATCH] New J2K: Process fields in modality conversion --- .../kotlin/nj2k/conversions/ModalityConversion.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt index 084bdb6e733..55e2ef0a022 100644 --- a/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt +++ b/nj2k/src/org/jetbrains/kotlin/nj2k/conversions/ModalityConversion.kt @@ -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()!! + if (containingClass.classKind == JKClass.ClassKind.INTERFACE) { + field.modality = Modality.FINAL + } + } } \ No newline at end of file