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:
Mikhail Glukhikh
2016-08-08 12:14:35 +03:00
committed by Mikhail Glukhikh
parent 1bc7b4e363
commit 13e64c18d9
5 changed files with 93 additions and 24 deletions
@@ -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: