Skip to content

Commit 31c9c24

Browse files
authored
Enable "KDoc reference to class from constructor" test (#4424)
1 parent ea1ff8a commit 31c9c24

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

dokka-subprojects/analysis-kotlin-descriptors-compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/AnalysisEnvironment.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ import org.jetbrains.kotlin.js.config.JSConfigurationKeys
5555
import org.jetbrains.kotlin.js.resolve.JsPlatformAnalyzerServices
5656
import org.jetbrains.kotlin.library.KLIB_FILE_EXTENSION
5757
import org.jetbrains.kotlin.library.KotlinLibrary
58-
import org.jetbrains.kotlin.library.SingleFileKlibResolveStrategy
59-
import org.jetbrains.kotlin.library.ToolingSingleFileKlibResolveStrategy
58+
import org.jetbrains.kotlin.library.loader.KlibLoader
59+
import org.jetbrains.kotlin.library.loader.reportLoadingProblemsIfAny
6060
import org.jetbrains.kotlin.load.java.structure.impl.JavaClassImpl
6161
import org.jetbrains.kotlin.load.java.structure.impl.classFiles.BinaryJavaClass
6262
import org.jetbrains.kotlin.name.Name
@@ -76,6 +76,7 @@ import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
7676
import org.jetbrains.kotlin.resolve.konan.platform.NativePlatformAnalyzerServices
7777
import org.jetbrains.kotlin.storage.LockBasedStorageManager
7878
import org.jetbrains.kotlin.util.DummyLogger
79+
import org.jetbrains.kotlin.util.Logger
7980
import java.io.File
8081
import org.jetbrains.kotlin.konan.file.File as KFile
8182

@@ -305,8 +306,7 @@ public class AnalysisEnvironment(
305306
.filter { it.isDirectory || it.extension == KLIB_FILE_EXTENSION }
306307
.forEach { libraryFile ->
307308
try {
308-
val kotlinLibrary = ToolingSingleFileKlibResolveStrategy
309-
.resolve(KFile(libraryFile.absolutePath), DummyLogger)
309+
val kotlinLibrary = resolveSingleFileKlib(KFile(libraryFile.absolutePath), DummyLogger)
310310
if (kLibService.isAnalysisCompatible(kotlinLibrary)) {
311311
// exists, is KLIB, has compatible format
312312
result.put(
@@ -588,3 +588,11 @@ public class AnalysisEnvironment(
588588
}
589589

590590
}
591+
592+
private fun resolveSingleFileKlib(libraryFile: KFile, logger: Logger): KotlinLibrary {
593+
val klibLoadingResult = KlibLoader { libraryPaths(libraryFile.path) }.load()
594+
klibLoadingResult.reportLoadingProblemsIfAny { _, message ->
595+
logger.error(message)
596+
}
597+
return klibLoadingResult.librariesStdlibFirst.single()
598+
}

dokka-subprojects/plugin-base/src/test/kotlin/content/kdoc/KDocAmbiguityResolutionTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import org.jetbrains.dokka.pages.MemberPageNode
3030
import utils.OnlySymbols
3131
import utils.findTestType
3232
import utils.withExperimentalKDocResolution
33-
import kotlin.test.Ignore
3433
import kotlin.test.Test
3534
import kotlin.test.assertEquals
3635

@@ -536,7 +535,6 @@ class KDocAmbiguityResolutionTest : BaseAbstractTest() {
536535

537536

538537
@Test
539-
@Ignore("#3604: blocked by KT-83152")
540538
fun `#3604 KDoc reference to class from constructor`() = withExperimentalKDocResolution {
541539
testInline(
542540
"""

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ ktor = "2.3.11"
2121
javaDiffUtils = "4.12"
2222

2323
## Analysis
24-
kotlin-compiler = "2.3.20-dev-7064"
25-
kotlin-compiler-k2 = "2.3.20-dev-7064"
24+
kotlin-compiler = "2.4.0-dev-169"
25+
kotlin-compiler-k2 = "2.4.0-dev-169"
2626

2727
# MUST match the version of the intellij platform used in the kotlin compiler,
2828
# otherwise this will lead to different versions of psi API and implementations

0 commit comments

Comments
 (0)