aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test/kotlin/content/params
diff options
context:
space:
mode:
authorVadim Mishenev <vad-mishenev@yandex.ru>2023-08-28 19:42:21 +0300
committerGitHub <noreply@github.com>2023-08-28 19:42:21 +0300
commit0e00edc6fcd406fcf38673ef6a2f8f59e8374de2 (patch)
tree697b0de0d44b421c922f1f5e6a7c1352f17c68a6 /plugins/base/src/test/kotlin/content/params
parentbec2cac91726e52884329e7997207e9777abaab7 (diff)
downloaddokka-0e00edc6fcd406fcf38673ef6a2f8f59e8374de2.tar.gz
dokka-0e00edc6fcd406fcf38673ef6a2f8f59e8374de2.tar.bz2
dokka-0e00edc6fcd406fcf38673ef6a2f8f59e8374de2.zip
Support Dokka K2 analysis (#3094)
Dokka has its own documentable model to represent analyzed code. The analysis is performed by a compiler frontend. In K1 the compiler frontend has descriptors that use the underlying Binding Context (global shared stateful structure). Dokka just maps descriptors to Documentable by DefaultDescriptorToDocumentableTranslator. K2 compiler has FIR tree, which means “Frontend Intermediate Representation”, instead of Binding Context. But we do not use FIR in Dokka directly, since it is too low-level for analysis. The Kotlin compiler provides high-level Analysis API for this case. The API is used by KSP too. Analysis API represent elements of FIR (declarations, parameters and so on) as Symbols. For more details see KtSymbolByFirBuilder, KtSymbol. For Dokka symbol is the replacement of descriptor in K2. Also, to set up the environment of project analysis in K1 we use idea dependencies (or copy-past from there). In K2 for these aims, there is a Standalone mode for Analysis API.
Diffstat (limited to 'plugins/base/src/test/kotlin/content/params')
-rw-r--r--plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt10
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt b/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
index e74cb49d..df5efd03 100644
--- a/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
+++ b/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
@@ -242,6 +242,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `deprecated with multiple links inside`() {
testInline(
@@ -346,6 +347,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `deprecated with an multiple inline links`() {
testInline(
@@ -410,6 +412,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `multiline throws with comment`() {
testInline(
@@ -473,6 +476,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @OnlyDescriptors("Fixed in 1.9.20 (IMPORT STAR)")
@Test
fun `multiline kotlin throws with comment`() {
testInline(
@@ -590,6 +594,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `multiline throws where exception is not in the same line as description`() {
testInline(
@@ -673,6 +678,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
+ @JavaCode
@Test
fun `documentation splitted in 2 using enters`() {
testInline(
@@ -718,6 +724,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `multiline return tag with param`() {
testInline(
@@ -783,6 +790,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @UsingJDK
@Test
fun `return tag in kotlin`() {
testInline(
@@ -830,6 +838,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun `list with links and description`() {
testInline(
@@ -1476,6 +1485,7 @@ class ContentForParamsTest : BaseAbstractTest() {
}
}
+ @JavaCode
@Test
fun javaDocCommentWithDocumentedParameters() {
testInline(