From 79cf537a1d0d5864e23af754836e48d13a5d722f Mon Sep 17 00:00:00 2001
From: vmishenev <vad-mishenev@yandex.ru>
Date: Tue, 27 Jul 2021 14:37:24 +0300
Subject: Remove extra `fun` keyword in functional interface signature (#2040)

---
 .../main/kotlin/signatures/KotlinSignatureProvider.kt  |  8 --------
 .../base/src/test/kotlin/signatures/SignatureTest.kt   | 18 ++++++++++++++++++
 2 files changed, 18 insertions(+), 8 deletions(-)

(limited to 'plugins/base')

diff --git a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
index 6446a775..e5f0ae97 100644
--- a/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
+++ b/plugins/base/src/main/kotlin/signatures/KotlinSignatureProvider.kt
@@ -131,14 +131,6 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog
                         ""
                 )
             }
-            if (c is DInterface) {
-                c.extra[AdditionalModifiers]?.content?.let { additionalModifiers ->
-                    sourceSetDependentText(additionalModifiers, setOf(sourceSet)) { extraModifiers ->
-                        if (ExtraModifiers.KotlinOnlyModifiers.Fun in extraModifiers) "fun "
-                        else ""
-                    }
-                }
-            }
             when (c) {
                 is DClass -> {
                     processExtraModifiers(c)
diff --git a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
index f9d95f46..5605d867 100644
--- a/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
+++ b/plugins/base/src/test/kotlin/signatures/SignatureTest.kt
@@ -229,6 +229,24 @@ class SignatureTest : BaseAbstractTest() {
         }
     }
 
+    @Test
+    fun `functional interface`() {
+        val source = source("fun interface KRunnable")
+        val writerPlugin = TestOutputWriterPlugin()
+
+        testInline(
+            source,
+            configuration,
+            pluginOverrides = listOf(writerPlugin)
+        ) {
+            renderingStage = { _, _ ->
+                writerPlugin.writer.renderedContent("root/example/-k-runnable/index.html").firstSignature().match(
+                    "fun interface ", A("KRunnable"), Span()
+                )
+            }
+        }
+    }
+
     @Test
     fun `fun with annotation`() {
         val source = """
-- 
cgit