From c293fe124d0ba7a5318f75554bcbc093c53a3488 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Sun, 13 Jan 2013 03:09:40 +0400 Subject: [PATCH] Regression test for KT-3238. The issue itself is incorrect but test may be useful --- .../testData/codegen/regressions/kt3238.kt | 12 ++++++++++++ compiler/testData/mockJDK/jre/lib/rt.jar | Bin 639964 -> 653722 bytes .../jetbrains/jet/codegen/ObjectGenTest.java | 4 ++++ 3 files changed, 16 insertions(+) create mode 100644 compiler/testData/codegen/regressions/kt3238.kt diff --git a/compiler/testData/codegen/regressions/kt3238.kt b/compiler/testData/codegen/regressions/kt3238.kt new file mode 100644 index 00000000000..ef291a4422f --- /dev/null +++ b/compiler/testData/codegen/regressions/kt3238.kt @@ -0,0 +1,12 @@ +object Obj { + class Inner() { + fun ok() = "OK" + } +} + +fun box() : String { + val klass = Class.forName("Obj\$Inner")!! + val cons = klass.getConstructors()!![0] + val inner = cons.newInstance(* Array(0){""}) + return "OK" +} diff --git a/compiler/testData/mockJDK/jre/lib/rt.jar b/compiler/testData/mockJDK/jre/lib/rt.jar index 86af879738a0da3825eabf190a74c830a0639468..f5fce6e134d2637eca5b06000f3069f2f1884839 100644 GIT binary patch delta 16573 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