From 57760e5873e864b0aa5eacfdad230c93d217d524 Mon Sep 17 00:00:00 2001 From: pyos Date: Thu, 21 Nov 2019 13:25:16 +0100 Subject: [PATCH] FIR: set anonymous initializers' parents --- .../fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt | 1 + .../codegen/box/assert/jvm/noUnnecessaryClassInitialization.kt | 1 - .../codegen/box/classes/classObjectAsStaticInitializer.kt | 1 - compiler/testData/codegen/box/classes/initializerBlock.kt | 1 - compiler/testData/codegen/box/classes/kt501.kt | 1 - .../codegen/box/defaultArguments/callDefaultFromInitializer.kt | 1 - .../testData/codegen/box/statics/anonymousInitializerIObject.kt | 1 - 7 files changed, 1 insertion(+), 6 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index e50593c72fb..8e291705a12 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -411,6 +411,7 @@ class Fir2IrVisitor( symbolTable.declareAnonymousInitializer( startOffset, endOffset, origin, parent.descriptor ).apply { + setParentByParentStack() declarationStorage.enterScope(descriptor) body = anonymousInitializer.body!!.convertToIrBlockBody() declarationStorage.leaveScope(descriptor) diff --git a/compiler/testData/codegen/box/assert/jvm/noUnnecessaryClassInitialization.kt b/compiler/testData/codegen/box/assert/jvm/noUnnecessaryClassInitialization.kt index 7f836beab8c..f7bc41fe918 100644 --- a/compiler/testData/codegen/box/assert/jvm/noUnnecessaryClassInitialization.kt +++ b/compiler/testData/codegen/box/assert/jvm/noUnnecessaryClassInitialization.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // KOTLIN_CONFIGURATION_FLAGS: ASSERTIONS_MODE=jvm // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/classes/classObjectAsStaticInitializer.kt b/compiler/testData/codegen/box/classes/classObjectAsStaticInitializer.kt index 68aaebbd92e..fd86b98536e 100644 --- a/compiler/testData/codegen/box/classes/classObjectAsStaticInitializer.kt +++ b/compiler/testData/codegen/box/classes/classObjectAsStaticInitializer.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // IGNORE_BACKEND: NATIVE // IGNORE_BACKEND: JS_IR var global = 0; diff --git a/compiler/testData/codegen/box/classes/initializerBlock.kt b/compiler/testData/codegen/box/classes/initializerBlock.kt index 41c1fe360c2..ccaac7f0473 100644 --- a/compiler/testData/codegen/box/classes/initializerBlock.kt +++ b/compiler/testData/codegen/box/classes/initializerBlock.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class C() { public var f: Int diff --git a/compiler/testData/codegen/box/classes/kt501.kt b/compiler/testData/codegen/box/classes/kt501.kt index 349d68d733b..6705704587e 100644 --- a/compiler/testData/codegen/box/classes/kt501.kt +++ b/compiler/testData/codegen/box/classes/kt501.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class Reluctant() { init { throw Exception("I'm not coming out") diff --git a/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt b/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt index d70f9376747..939ab698ad9 100644 --- a/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt +++ b/compiler/testData/codegen/box/defaultArguments/callDefaultFromInitializer.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun foo(x: Int = 42) = x class C { diff --git a/compiler/testData/codegen/box/statics/anonymousInitializerIObject.kt b/compiler/testData/codegen/box/statics/anonymousInitializerIObject.kt index 9ce669581f9..72aa88ec05b 100644 --- a/compiler/testData/codegen/box/statics/anonymousInitializerIObject.kt +++ b/compiler/testData/codegen/box/statics/anonymousInitializerIObject.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR object Foo { val bar: String