Repository: Kotlin/dokka (kotlin)

Issue:
Extension property accessor DRI missing receiver with K2
**Describe the bug**
When switching to K2 dokka (from `org.jetbrains.dokka:analysis-kotlin-descriptors` to `org.jetbrains.dokka:analysis-kotlin-symbols`), the DRIs for extension property accessors have changed to no longer include the receiver type.

**To Reproduce**
Sample property:
```
var String.foo: Int
    get() = 0
    set(value) = Unit
```

From the `DProperty` for `foo`, `getter.dri.callable` used to be `Callable(name=getFoo, receiver=kotlin.String, params=[])` when using K1. With K2 it is now `Callable(name=getFoo, receiver=null, params=[])`, skipping the receiver. The behavior for the setter is similar.

The receiver type is still present on the `DFunction`s themselves (`getter.receiver` is not null), it is just missing from the DRI.

**Dokka configuration**
Dokka version 2.0.20-dev-388
Kotlin version 2.1.10

Pull request:

Patch:
diff --git a/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/DefaultSymbolToDocumentableTranslator.kt b/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/DefaultSymbolToDocumentableTranslator.kt
index fdbc38659c..537101dc64 100644
--- a/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/DefaultSymbolToDocumentableTranslator.kt
+++ b/dokka-subprojects/analysis-kotlin-symbols/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/DefaultSymbolToDocumentableTranslator.kt
@@ -575,7 +575,9 @@ internal class DokkaSymbolVisitor(
             getDRIFromFunction(propertyAccessorSymbol)
         else
             propertyDRI.copy(
-                callable = Callable(name, null, propertyAccessorSymbol.valueParameters.map { getTypeReferenceFrom(it.returnType) })
+                callable = propertyDRI.callable?.copy(
+                    name = name,
+                    params = propertyAccessorSymbol.valueParameters.map { getTypeReferenceFrom(it.returnType) })
             )
         // for SyntheticJavaProperty
         val inheritedFrom = if(propertyAccessorSymbol.origin == KaSymbolOrigin.JAVA_SYNTHETIC_PROPERTY) dri.copy(callable = null) else null


Test patch:
diff --git a/dokka-subprojects/plugin-base/src/test/kotlin/model/PropertyTest.kt b/dokka-subprojects/plugin-base/src/test/kotlin/model/PropertyTest.kt
index 74ce2d6840..db8871b7f8 100644
--- a/dokka-subprojects/plugin-base/src/test/kotlin/model/PropertyTest.kt
+++ b/dokka-subprojects/plugin-base/src/test/kotlin/model/PropertyTest.kt
@@ -12,6 +12,10 @@ import utils.name
 import utils.text
 import kotlin.test.Test
 import org.jetbrains.dokka.ExperimentalDokkaApi
+import org.jetbrains.dokka.links.Nullable
+import org.jetbrains.dokka.links.TypeConstructor
+import org.jetbrains.dokka.links.TypeParam
+import org.jetbrains.dokka.links.TypeReference
 
 @OptIn(ExperimentalDokkaApi::class)
 class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "property") {
@@ -269,9 +273,36 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
                 }
                 with(getter.assertNotNull("Getter")) {
                     type.name equals "T"
+                    val receiver = TypeConstructor(
+                        "kotlin.collections.List",
+                        listOf(
+                            TypeParam(
+                                listOf(Nullable(TypeConstructor("kotlin.Any", emptyList())))
+                            )
+                        )
+                    )
+
+                    // In K1 a name of an accessor is `<get-sampleProperty>`, in K2 - `getSampleProperty`
+                    this.dri.packageName equals "property"
+                    this.dri.classNames equals "XD"
+                    this.dri.callable?.receiver equals receiver
+                    this.dri.callable?.params equals emptyList<TypeReference>()
                 }
                 with(setter.assertNotNull("Setter")){
                     type.name equals "Unit"
+
+                    val receiver = TypeConstructor(
+                        "kotlin.collections.List",
+                        listOf(
+                            TypeParam(
+                                listOf(Nullable(TypeConstructor("kotlin.Any", emptyList())))
+                            )
+                        )
+                    )
+                    this.dri.packageName equals "property"
+                    this.dri.classNames equals "XD"
+                    this.dri.callable?.receiver equals receiver
+                    this.dri.callable?.params equals listOf(TypeParam(listOf(Nullable(TypeConstructor("kotlin.Any", emptyList())))))
                 }
                 generics counts 0
                 visibility.values allEquals KotlinVisibility.Public
@@ -316,7 +347,7 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
             |package sample
             |
             |/** Some doc */
-            |context(s: String, _:Int) val Int.prop : Int
+            |context(s: String, _:Int) var Int.prop : Int
             """.trimIndent()
         ) {
             with((this / "sample" / "prop").cast<DProperty>()) {
@@ -342,6 +373,9 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
 
                 getter?.contextParameters counts 0
                 setter?.contextParameters counts 0
+
+                getter?.dri?.callable?.contextParameters counts 2
+                setter?.dri?.callable?.contextParameters counts 2
             }
         }
     }