[JS IR BE] Enum class lowering

This commit is contained in:
Svyatoslav Kuzmich
2018-07-19 14:57:27 +03:00
parent 668708170f
commit 625983b28a
98 changed files with 397 additions and 108 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class A() {
ENTRY(){ override fun t() = "OK"};
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class E {
ENTRY;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// http://youtrack.jetbrains.com/issue/KT-2167
enum class Season {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class A {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class A {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class Test(val x: Int, val str: String) {
OK;
constructor(x: Int = 0) : this(x, "OK")
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
package test
enum class My(val s: String) {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
interface IFoo {
fun foo(): String
}
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
interface IFoo {
fun foo(): String
}
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
interface IFoo {
fun foo(): String
}
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
package test
fun box() = MyEnum.E1.f() + MyEnum.E2.f()
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class Color(val rgb: Int) {
RED(0xff0000),
GREEN(0x00ff00),
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
package test
enum class Season {
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
fun box() = if(Context.operatingSystemType == Context.Companion.OsType.OTHER) "OK" else "fail"
public class Context
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
class A {
enum class E {
OK
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class A {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class A {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class A {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
class A {
companion object {}
enum class E {
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class Direction() {
NORTH {
val someSpecialValue = "OK"
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class Bar {
ONE,
TWO
-1
View File
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class Test(val x: String, val closure1: () -> String) {
FOO("O", { FOO.x }) {
override val y: String = "K"
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class A(val b: String) {
E1("OK"){ override fun t() = b };
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
val value2 = "K"
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
val value2 = "K"
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class X {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// LANGUAGE_VERSION: 1.2
enum class X {
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
override val value2 = "K"
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
override val value2 = "K"
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
val value2 = "K"
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
fun <T, R> T.letNoInline(fn: (T) -> R) =
fn(this)
-1
View File
@@ -1,5 +1,4 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
enum class X {
B {
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class E {
ENTRY,
SUBCLASS {
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class State {
_0,
_1,
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class Season {
WINTER,
SPRING,
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
package test
fun box() = E.E1.f() + E.E2.f()
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JS_IR
enum class State {
O,
K