Correct CFA order for enums: first own members, then entries, and at last companion object members #KT-6054 Fixed
(cherry picked from commit 94d3b4c)
This commit is contained in:
committed by
Mikhail Glukhikh
parent
1bc7b4e363
commit
13e64c18d9
+8
-8
@@ -22,15 +22,15 @@ enum class E(val x: Int) {
|
||||
---------------------
|
||||
L0:
|
||||
1 <START>
|
||||
v(E1(0))
|
||||
magic[FAKE_INITIALIZER](E1(0)) -> <v0>
|
||||
w(E1|<v0>)
|
||||
r(0) -> <v1>
|
||||
mark((0))
|
||||
call((0), <init>|<v1>) -> <v2>
|
||||
v(val x: Int)
|
||||
magic[FAKE_INITIALIZER](val x: Int) -> <v3>
|
||||
w(x|<v3>)
|
||||
magic[FAKE_INITIALIZER](val x: Int) -> <v0>
|
||||
w(x|<v0>)
|
||||
v(E1(0))
|
||||
magic[FAKE_INITIALIZER](E1(0)) -> <v1>
|
||||
w(E1|<v1>)
|
||||
r(0) -> <v2>
|
||||
mark((0))
|
||||
call((0), <init>|<v2>) -> <v3>
|
||||
L1:
|
||||
<END> NEXT:[<SINK>]
|
||||
error:
|
||||
|
||||
+4
-4
@@ -10,10 +10,10 @@ enum class E(val x: Int) {
|
||||
E1(0)
|
||||
}
|
||||
---------------------
|
||||
<v0>: E NEW: magic[FAKE_INITIALIZER](E1(0)) -> <v0>
|
||||
<v3>: Int NEW: magic[FAKE_INITIALIZER](val x: Int) -> <v3>
|
||||
0 <v1>: Int NEW: r(0) -> <v1>
|
||||
(0) <v2>: * NEW: call((0), <init>|<v1>) -> <v2>
|
||||
<v0>: Int NEW: magic[FAKE_INITIALIZER](val x: Int) -> <v0>
|
||||
<v1>: E NEW: magic[FAKE_INITIALIZER](E1(0)) -> <v1>
|
||||
0 <v2>: Int NEW: r(0) -> <v2>
|
||||
(0) <v3>: * NEW: call((0), <init>|<v2>) -> <v3>
|
||||
=====================
|
||||
== C ==
|
||||
class C {
|
||||
|
||||
Reference in New Issue
Block a user