Skip to content

Commit

Permalink
[K2] Add reproducer for #3702
Browse files Browse the repository at this point in the history
  • Loading branch information
vmishenev committed Jul 31, 2024
1 parent 8f386ba commit 1cb62bd
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/*
* Copyright 2014-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/

package translators

import org.jetbrains.dokka.model.*
import org.jetbrains.dokka.model.doc.*
import utils.AbstractModelTest
import utils.assertNotNull
import utils.comments
import utils.docs
import java.io.File
import kotlin.test.Test

class KMPTest : AbstractModelTest("/src/main/kotlin/comment/Test.kt", "comment") {

/// copy-pasted UTILS
private fun getResourceAbsolutePath(resourcePath: String): String {
val resource = object {}.javaClass.classLoader.getResource(resourcePath)?.file
?: throw IllegalArgumentException("Resource not found: $resourcePath")

return File(resource).absolutePath
}

val configuration = dokkaConfiguration {
sourceSets {
/* val common = sourceSet {
sourceRoots = listOf("src/common/kotlin")
analysisPlatform = "common"
name = "common"
}*/
sourceSet {
sourceRoots = listOf("src/androidMain/kotlin")
analysisPlatform = "jvm"
name = "android-example"
classpath = listOf(getResourceAbsolutePath("jars/jvmAndroidLib-jvm.jar"))
// dependentSourceSets = setOf(common.value.sourceSetID)
}
sourceSet {
sourceRoots = listOf("src/jvmMain/kotlin")
analysisPlatform = "jvm"
name = "jvm-example"
classpath = listOf(getResourceAbsolutePath("jars/jvmAndroidLib-jvm-copy.jar"))
// dependentSourceSets = setOf(common.value.sourceSetID)
}

}
}

@Test
fun `unresolved Firebase in the android source set with the same renamed jar`() {
inlineModelTest(
"""
|/src/androidMain/kotlin/main.kt
|package example
|import Firebase
|
|fun android(f: Firebase){}
|
|/src/jvmMain/kotlin/main.kt
|package example
|import Firebase
|
|fun jvm(f: Firebase){}
""",
configuration = configuration
) {
with((this / "example" / "android").cast<DFunction>()) {
parameters[0].type is UnresolvedBound // <------- here
}
with((this / "example" / "jvm").cast<DFunction>()) {
parameters[0].type is GenericTypeConstructor
}
}
}
}
Binary file not shown.
Binary file not shown.

0 comments on commit 1cb62bd

Please sign in to comment.