aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/main/kotlin
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/main/kotlin')
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt14
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
index f67ee15c..c410104c 100644
--- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
@@ -300,7 +300,7 @@ class DefaultPsiToDocumentableTranslator(
classlikes = classlikes.await(),
visibility = visibility,
companion = null,
- constructors = parseConstructors(),
+ constructors = parseConstructors(dri),
generics = mapTypeParameters(dri),
sourceSets = setOf(sourceSetData),
isExpectActual = false,
@@ -340,7 +340,7 @@ class DefaultPsiToDocumentableTranslator(
classlikes = classlikes.await(),
visibility = visibility,
companion = null,
- constructors = parseConstructors(),
+ constructors = parseConstructors(dri),
supertypes = ancestors,
sourceSets = setOf(sourceSetData),
isExpectActual = false,
@@ -376,7 +376,7 @@ class DefaultPsiToDocumentableTranslator(
else -> DClass(
dri = dri,
name = name.orEmpty(),
- constructors = parseConstructors(),
+ constructors = parseConstructors(dri),
functions = allFunctions.await(),
properties = allFields.await(),
classlikes = classlikes.await(),
@@ -401,13 +401,17 @@ class DefaultPsiToDocumentableTranslator(
}
}
- private fun PsiClass.parseConstructors(): List<DFunction> {
+ /*
+ * Parameter `parentDRI` required for substitute package name:
+ * in the case of synthetic constructor, it will return empty from [DRI.Companion.from].
+ */
+ private fun PsiClass.parseConstructors(parentDRI: DRI): List<DFunction> {
val constructors = when {
isAnnotationType || isInterface -> emptyArray()
isEnum -> this.constructors
else -> this.constructors.takeIf { it.isNotEmpty() } ?: arrayOf(createDefaultConstructor())
}
- return constructors.map { parseFunction(it, true) }
+ return constructors.map { parseFunction(psi = it, isConstructor = true, parentDRI = parentDRI) }
}
/**