8c89ffbe2d
Bypass builtins deserialization mechanism in legacy JS backend and load bultins direcly as kotlin code. This way we won't have separated IR declarations for Enum, Char, Long Some "native" builtins are implemented in libraries/stdlib/js/irRuntime/builtins/ Other builtins are moved by MoveExternalDeclarationsToSeparatePlace and used only in compile-time
21 lines
533 B
Kotlin
21 lines
533 B
Kotlin
/*
|
|
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
* that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
|
|
package kotlin
|
|
|
|
import kotlin.js.*
|
|
|
|
abstract class Enum<E : Enum<E>>(val name: String, val ordinal: Int) : Comparable<E> {
|
|
|
|
override fun compareTo(other: E) = ordinal.compareTo(other.ordinal)
|
|
|
|
override fun equals(other: Any?) = this === other
|
|
|
|
override fun hashCode(): Int = identityHashCode(this)
|
|
|
|
override fun toString() = name
|
|
|
|
companion object
|
|
} |