From 84aacad29982240ae367b21e9d283d38dab672ae Mon Sep 17 00:00:00 2001 From: Vadim Mishenev Date: Fri, 29 Apr 2022 12:04:58 +0300 Subject: Fix arg name inside functional type (#2478) --- .../FunctionalTypeConstructorsSignatureTest.kt | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'plugins/base/src/test') diff --git a/plugins/base/src/test/kotlin/signatures/FunctionalTypeConstructorsSignatureTest.kt b/plugins/base/src/test/kotlin/signatures/FunctionalTypeConstructorsSignatureTest.kt index cd55a001..1e0a5404 100644 --- a/plugins/base/src/test/kotlin/signatures/FunctionalTypeConstructorsSignatureTest.kt +++ b/plugins/base/src/test/kotlin/signatures/FunctionalTypeConstructorsSignatureTest.kt @@ -108,6 +108,31 @@ class FunctionalTypeConstructorsSignatureTest : BaseAbstractTest() { } } + @Test + fun `kotlin syntactic sugar function with param name of generic and functional type`() { + val source = source(""" + | @Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.TYPE) + | @MustBeDocumented + | annotation class Fancy + | + | fun f(): (param1: T, param2: @Fancy ()->Unit) -> String " + """.trimIndent()) + val writerPlugin = TestOutputWriterPlugin() + + testInline( + source, configuration, pluginOverrides = listOf(writerPlugin) + ) { + renderingStage = { _, _ -> + writerPlugin.writer.renderedContent("root/example/index.html").lastSignature().match( + "fun <", A("T"), "> ", + A("f"), "(): (param1:", A("T"), + ", param2: ", Span("@", A("Fancy")), " () -> ", A("Unit"), + ") -> ", A("String"), Span(), + ignoreSpanWithTokenStyle = true + ) + } + } + } @Disabled // Add coroutines on classpath and get proper import @Test fun `kotlin normal suspendable function`() { -- cgit