diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt index 51230ff1149..ae0d47cf41d 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -206,7 +206,7 @@ class LazyJavaClassDescriptor( override fun getAnnotations() = Annotations.EMPTY - override fun isFinal() = !getModality().isOverridable() + override fun isFinal() = !getModality().isOverridable override fun isDenotable() = true diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/Modality.kt b/core/descriptors/src/org/jetbrains/kotlin/descriptors/Modality.kt index 52505a68b91..9deac84b966 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/Modality.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/Modality.kt @@ -14,31 +14,22 @@ * limitations under the License. */ -package org.jetbrains.kotlin.descriptors; +package org.jetbrains.kotlin.descriptors -import org.jetbrains.annotations.NotNull; - -public enum Modality { +enum class Modality private constructor(@get:JvmName("isOverridable") val isOverridable: Boolean) { // THE ORDER OF ENTRIES MATTERS HERE FINAL(false), SEALED(false), OPEN(true), ABSTRACT(true); - private final boolean overridable; + companion object { - Modality(boolean overridable) { - this.overridable = overridable; - } - - public boolean isOverridable() { - return overridable; - } - - @NotNull - public static Modality convertFromFlags(boolean _abstract, boolean open) { - if (_abstract) return ABSTRACT; - if (open) return OPEN; - return FINAL; + // NB: never returns SEALED + fun convertFromFlags(abstract: Boolean, open: Boolean): Modality { + if (abstract) return ABSTRACT + if (open) return OPEN + return FINAL + } } } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt index 965ee83adfd..5883d23cc65 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/descriptors/DeserializedClassDescriptor.kt @@ -181,7 +181,7 @@ public class DeserializedClassDescriptor( override fun getSupertypes() = supertypes() - override fun isFinal() = !getModality().isOverridable() + override fun isFinal() = !getModality().isOverridable override fun isDenotable() = true