diff --git a/compiler/testData/codegen/box/localClasses/kt4174.kt b/compiler/testData/codegen/box/localClasses/kt4174.kt new file mode 100644 index 00000000000..56a73053979 --- /dev/null +++ b/compiler/testData/codegen/box/localClasses/kt4174.kt @@ -0,0 +1,25 @@ +open class C(val s: String) { + fun test(): String { + return s + } +} + +class B(var x: String) { + fun foo(): String { + var s = "OK" + class Z : C(s) {} + return Z().test() + } + + fun foo2(): String { + class Y : C(x) {} + return Y().test() + } +} + + +fun box(): String { + val b = B("OK") + if (b.foo() != "OK") return "fail: ${b.foo()}" + return b.foo2() +} diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java index c4e618092af..bacaa81cd32 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -4441,6 +4441,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { doTest(fileName); } + @TestMetadata("kt4174.kt") + public void testKt4174() throws Exception { + String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/localClasses/kt4174.kt"); + doTest(fileName); + } + @TestMetadata("localClass.kt") public void testLocalClass() throws Exception { String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/localClasses/localClass.kt");