From 25c804431bbfd8e075d0d7b74005be78d58d3bdf Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Thu, 3 May 2012 16:12:17 +0300 Subject: [PATCH] test for KT-606 --- .../testData/codegen/regressions/kt606.kt | 25 +++++++++++++++++++ .../jet/codegen/ExtensionFunctionsTest.java | 4 +++ 2 files changed, 29 insertions(+) create mode 100644 compiler/testData/codegen/regressions/kt606.kt diff --git a/compiler/testData/codegen/regressions/kt606.kt b/compiler/testData/codegen/regressions/kt606.kt new file mode 100644 index 00000000000..f2e00fb0fb2 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt606.kt @@ -0,0 +1,25 @@ +class StandardPipelineFactory(val config : ChannelPipeline.() -> Unit) : ChannelPipelineFactory { + override fun getPipeline() : ChannelPipeline { + val pipeline : ChannelPipeline = DefaultChannelPipeline() + pipeline.config() + return pipeline + } +} + +trait ChannelPipeline { + fun print(any: Any) +} + +class DefaultChannelPipeline : ChannelPipeline { + override fun print(any: Any) = System.out?.println(any) + +} + +trait ChannelPipelineFactory { + fun getPipeline() : ChannelPipeline +} + +fun box() : String { + StandardPipelineFactory({ print("OK") }).getPipeline() + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java index 20be7c387b5..f50618fc621 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java @@ -76,4 +76,8 @@ public class ExtensionFunctionsTest extends CodegenTestCase { createEnvironmentWithMockJdk(CompilerSpecialMode.BUILTINS); blackBoxFile("extensionFunctions/nested2.kt"); } + public void testKt606() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.BUILTINS); + blackBoxFile("regressions/kt606.kt"); + } }