J2K: Modality.kt

This commit is contained in:
Mikhail Glukhikh
2015-12-07 18:26:00 +03:00
parent d80206376a
commit 5b72afe8a0
3 changed files with 11 additions and 20 deletions
@@ -206,7 +206,7 @@ class LazyJavaClassDescriptor(
override fun getAnnotations() = Annotations.EMPTY override fun getAnnotations() = Annotations.EMPTY
override fun isFinal() = !getModality().isOverridable() override fun isFinal() = !getModality().isOverridable
override fun isDenotable() = true override fun isDenotable() = true
@@ -14,31 +14,22 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.kotlin.descriptors; package org.jetbrains.kotlin.descriptors
import org.jetbrains.annotations.NotNull; enum class Modality private constructor(@get:JvmName("isOverridable") val isOverridable: Boolean) {
public enum Modality {
// THE ORDER OF ENTRIES MATTERS HERE // THE ORDER OF ENTRIES MATTERS HERE
FINAL(false), FINAL(false),
SEALED(false), SEALED(false),
OPEN(true), OPEN(true),
ABSTRACT(true); ABSTRACT(true);
private final boolean overridable; companion object {
Modality(boolean overridable) { // NB: never returns SEALED
this.overridable = overridable; fun convertFromFlags(abstract: Boolean, open: Boolean): Modality {
} if (abstract) return ABSTRACT
if (open) return OPEN
public boolean isOverridable() { return FINAL
return overridable; }
}
@NotNull
public static Modality convertFromFlags(boolean _abstract, boolean open) {
if (_abstract) return ABSTRACT;
if (open) return OPEN;
return FINAL;
} }
} }
@@ -181,7 +181,7 @@ public class DeserializedClassDescriptor(
override fun getSupertypes() = supertypes() override fun getSupertypes() = supertypes()
override fun isFinal() = !getModality().isOverridable() override fun isFinal() = !getModality().isOverridable
override fun isDenotable() = true override fun isDenotable() = true