diff --git a/subprojects/analysis-java-psi/api/analysis-java-psi.api b/subprojects/analysis-java-psi/api/analysis-java-psi.api index 404249f818..6b4d444f47 100644 --- a/subprojects/analysis-java-psi/api/analysis-java-psi.api +++ b/subprojects/analysis-java-psi/api/analysis-java-psi.api @@ -146,3 +146,7 @@ public final class org/jetbrains/dokka/analysis/java/util/PsiDocumentableSource public final fun getPsi ()Lcom/intellij/psi/PsiNamedElement; } +public final class org/jetbrains/dokka/analysis/java/util/PsiUtilKt { + public static final fun from (Lorg/jetbrains/dokka/links/DRI$Companion;Lcom/intellij/psi/PsiElement;)Lorg/jetbrains/dokka/links/DRI; +} + diff --git a/subprojects/analysis-kotlin-symbols/plugin/api/compiler.api b/subprojects/analysis-kotlin-symbols/plugin/api/compiler.api deleted file mode 100644 index 39870f571c..0000000000 --- a/subprojects/analysis-kotlin-symbols/plugin/api/compiler.api +++ /dev/null @@ -1,4 +0,0 @@ -public final class org/jetbrains/dokka/analysis/kotlin/symbols/compiler/CompilerSymbolsAnalysisPlugin : org/jetbrains/dokka/plugability/DokkaPlugin { - public fun ()V -} - diff --git a/subprojects/analysis-kotlin-symbols/plugin/api/plugin.api b/subprojects/analysis-kotlin-symbols/plugin/api/plugin.api new file mode 100644 index 0000000000..5ad5818fc9 --- /dev/null +++ b/subprojects/analysis-kotlin-symbols/plugin/api/plugin.api @@ -0,0 +1,33 @@ +public abstract interface class org/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext : java/io/Closeable { + public abstract fun getMainModule ()Lorg/jetbrains/kotlin/analysis/project/structure/KtSourceModule; + public abstract fun getProject ()Lcom/intellij/openapi/project/Project; +} + +public abstract class org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis : java/io/Closeable { + public fun ()V + public fun (Lorg/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis;)V + public synthetic fun (Lorg/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun get (Lorg/jetbrains/dokka/DokkaConfiguration$DokkaSourceSet;)Lorg/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext; +} + +public final class org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysisKt { + public static final fun createAnalysisSession (Ljava/util/List;Ljava/util/Set;Lorg/jetbrains/dokka/Platform;Ljava/lang/String;Ljava/lang/String;)Lkotlin/Pair; +} + +public final class org/jetbrains/dokka/analysis/kotlin/symbols/plugin/SymbolsAnalysisPlugin : org/jetbrains/dokka/plugability/DokkaPlugin { + public fun ()V + public final fun getKotlinAnalysis ()Lorg/jetbrains/dokka/plugability/ExtensionPoint; + public final fun getSymbolToDocumentableTranslator ()Lorg/jetbrains/dokka/plugability/Extension; +} + +public final class org/jetbrains/dokka/analysis/kotlin/symbols/services/SymbolFullClassHierarchyBuilder : org/jetbrains/kotlin/analysis/kotlin/internal/FullClassHierarchyBuilder { + public fun ()V + public fun build (Lorg/jetbrains/dokka/model/DModule;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class org/jetbrains/dokka/analysis/kotlin/symbols/translators/DefaultSymbolToDocumentableTranslator : org/jetbrains/dokka/transformers/sources/AsyncSourceToDocumentableTranslator { + public fun (Lorg/jetbrains/dokka/plugability/DokkaContext;)V + public fun invoke (Lorg/jetbrains/dokka/DokkaConfiguration$DokkaSourceSet;Lorg/jetbrains/dokka/plugability/DokkaContext;)Lorg/jetbrains/dokka/model/DModule; + public fun invokeSuspending (Lorg/jetbrains/dokka/DokkaConfiguration$DokkaSourceSet;Lorg/jetbrains/dokka/plugability/DokkaContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + diff --git a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/kdoc/KDocProvider.kt b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/kdoc/KDocProvider.kt index 20935926dd..492693282e 100644 --- a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/kdoc/KDocProvider.kt +++ b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/kdoc/KDocProvider.kt @@ -67,7 +67,7 @@ internal fun KtAnalysisSession.getKDocDocumentationFrom(symbol: KtSymbol) = find // ----------- copy-paste from IDE ---------------------------------------------------------------------------- -data class KDocContent( +internal data class KDocContent( val contentTag: KDocTag, val sections: List ) @@ -91,7 +91,7 @@ internal fun KtAnalysisSession.findKDoc(symbol: KtSymbol): KDocContent? { } -fun KtElement.findKDoc(): KDocContent? = this.lookupOwnedKDoc() +internal fun KtElement.findKDoc(): KDocContent? = this.lookupOwnedKDoc() ?: this.lookupKDocInContainer() diff --git a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext.kt b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext.kt index 92c55874a2..69de315d51 100644 --- a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext.kt +++ b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/AnalysisContext.kt @@ -108,12 +108,13 @@ internal open class EnvironmentKotlinAnalysis( } } +@InternalDokkaApi interface AnalysisContext: Closeable { val project: Project val mainModule: KtSourceModule } -class AnalysisContextImpl(private val analysisSession: StandaloneAnalysisAPISession, override val mainModule: KtSourceModule) : AnalysisContext { +internal class AnalysisContextImpl(private val analysisSession: StandaloneAnalysisAPISession, override val mainModule: KtSourceModule) : AnalysisContext { override val project: Project get() = analysisSession.project diff --git a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis.kt b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis.kt index 6fa6813039..10e800692c 100644 --- a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis.kt +++ b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis.kt @@ -89,7 +89,7 @@ internal fun collectSourceFilePaths( * * this util collects all `.kt` and `.java` files under source roots. */ -fun getSourceFilePaths( +internal fun getSourceFilePaths( sourceRoot: Collection, includeDirectoryRoot: Boolean = false, ): Set { @@ -111,7 +111,7 @@ fun getSourceFilePaths( return result } -inline fun getPsiFilesFromPaths( +internal inline fun getPsiFilesFromPaths( project: Project, paths: Collection, ): List { @@ -131,7 +131,7 @@ inline fun getPsiFilesFromPaths( } -fun getJdkHomeFromSystemProperty(): File? { +private fun getJdkHomeFromSystemProperty(): File? { val javaHome = File(System.getProperty("java.home")) if (!javaHome.exists()) { // messageCollector.report(CompilerMessageSeverity.WARNING, "Set existed java.home to use JDK") @@ -154,7 +154,8 @@ internal fun getLanguageVersionSettings(languageVersionString: String?, apiVersi ) } -fun createAnalysisSession( + +internal fun createAnalysisSession( classpath: List, sourceRoots: Set, analysisPlatform: Platform, diff --git a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/TranslatorError.kt b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/TranslatorError.kt index 6c34f3ef9f..8a8e2261d2 100644 --- a/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/TranslatorError.kt +++ b/subprojects/analysis-kotlin-symbols/plugin/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/translators/TranslatorError.kt @@ -4,9 +4,9 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtNamedSymbol -class TranslatorError(message: String, cause: Throwable?) : IllegalStateException(message, cause) +internal class TranslatorError(message: String, cause: Throwable?) : IllegalStateException(message, cause) -inline fun KtAnalysisSession.withExceptionCatcher(symbol: KtSymbol, action: KtAnalysisSession.() -> R): R = +internal inline fun KtAnalysisSession.withExceptionCatcher(symbol: KtSymbol, action: KtAnalysisSession.() -> R): R = try { action() } catch (e: TranslatorError) {