Perform InnerClassLowerings after CallableReferenceLowering

This commit is contained in:
Mikhael Bogdanov
2018-08-08 15:34:29 +03:00
parent 357359b1dd
commit bbc5fa4705
13 changed files with 5 additions and 14 deletions
@@ -44,8 +44,6 @@ class JvmLower(val context: JvmBackendContext) {
InterfaceLowering(context.state).runOnFilePostfix(irFile) InterfaceLowering(context.state).runOnFilePostfix(irFile)
InterfaceDelegationLowering(context.state).runOnFilePostfix(irFile) InterfaceDelegationLowering(context.state).runOnFilePostfix(irFile)
SharedVariablesLowering(context).runOnFilePostfix(irFile) SharedVariablesLowering(context).runOnFilePostfix(irFile)
InnerClassesLowering(context).runOnFilePostfix(irFile)
InnerClassConstructorCallsLowering(context).runOnFilePostfix(irFile)
irFile.acceptVoid(PatchDeclarationParentsVisitor()) irFile.acceptVoid(PatchDeclarationParentsVisitor())
@@ -59,6 +57,11 @@ class JvmLower(val context: JvmBackendContext) {
).runOnFilePostfix(irFile) ).runOnFilePostfix(irFile)
CallableReferenceLowering(context).lower(irFile) CallableReferenceLowering(context).lower(irFile)
InnerClassesLowering(context).runOnFilePostfix(irFile)
InnerClassConstructorCallsLowering(context).runOnFilePostfix(irFile)
irFile.acceptVoid(PatchDeclarationParentsVisitor())
EnumClassLowering(context).runOnFilePostfix(irFile) EnumClassLowering(context).runOnFilePostfix(irFile)
//Should be before SyntheticAccessorLowering cause of synthetic accessor for companion constructor //Should be before SyntheticAccessorLowering cause of synthetic accessor for companion constructor
ObjectClassLowering(context).lower(irFile) ObjectClassLowering(context).lower(irFile)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class A { class A {
inner class Inner { inner class Inner {
val o = 111 val o = 111
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class A { class A {
inner class Inner { inner class Inner {
val o = 111 val o = 111
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class A { class A {
inner class Inner { inner class Inner {
val o = 111 val o = 111
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class A { class A {
inner class Inner(val result: Int) inner class Inner(val result: Int)
} }
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
abstract class Base(val fn: () -> Test) abstract class Base(val fn: () -> Test)
enum class Test(val ok: String) { enum class Test(val ok: String) {
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
public class Test { public class Test {
val content = 1 val content = 1
inner class A { inner class A {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
class Bar(val name: String) class Bar(val name: String)
abstract class Foo { abstract class Foo {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
fun box(): String { fun box(): String {
val o = object { val o = object {
inner class A(val value: String = "OK") inner class A(val value: String = "OK")
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
enum class X { enum class X {
B { B {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
fun box(): String { fun box(): String {
val capture = "oh" val capture = "oh"
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
fun box(): String { fun box(): String {
class Local { class Local {
open inner class Inner(val s: String) { open inner class Inner(val s: String) {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
fun box(): String { fun box(): String {
val capture = "O" val capture = "O"