diff --git a/compiler/testData/codegen/box/package/initializationOrder.kt b/compiler/testData/codegen/box/package/initializationOrder.kt new file mode 100644 index 00000000000..2cd1f3a68f3 --- /dev/null +++ b/compiler/testData/codegen/box/package/initializationOrder.kt @@ -0,0 +1,14 @@ +fun box(): String? { + val log = System.getProperty("boxtest.log") + System.clearProperty("boxtest.log") // test can be run twice + return if (log == "bca") "OK" else log +} + +val b = log("b") +val c = log("c") +val a = log("a") + +fun log(message: String) { + val value = (System.getProperty("boxtest.log") ?: "") + message + System.setProperty("boxtest.log", value) +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java index 7724824dec7..d504ee07b17 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -4253,6 +4253,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest("compiler/testData/codegen/box/package/incrementProperty.kt"); } + @TestMetadata("initializationOrder.kt") + public void testInitializationOrder() throws Exception { + doTest("compiler/testData/codegen/box/package/initializationOrder.kt"); + } + @TestMetadata("invokespecial.kt") public void testInvokespecial() throws Exception { doTest("compiler/testData/codegen/box/package/invokespecial.kt");