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 isFinal() = !getModality().isOverridable()
override fun isFinal() = !getModality().isOverridable
override fun isDenotable() = true
@@ -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
}
}
}
@@ -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