From 9559158bfeeb274e9ccf1b4563f1b23b42afc493 Mon Sep 17 00:00:00 2001 From: Ignat Beresnev Date: Wed, 5 Jul 2023 10:04:55 +0200 Subject: Decompose Kotlin/Java analysis (#3034) * Extract analysis into separate modules --- build.gradle.kts | 4 - core/api/core.api | 20 + core/build.gradle.kts | 7 +- core/src/main/kotlin/CoreExtensions.kt | 4 +- core/src/main/kotlin/DokkaBootstrap.kt | 1 - core/src/main/kotlin/InternalDokkaApi.kt | 5 +- core/src/main/kotlin/model/Documentable.kt | 11 +- core/src/main/kotlin/model/WithChildren.kt | 2 +- .../main/kotlin/model/documentableProperties.kt | 9 + core/src/main/kotlin/plugability/DokkaPlugin.kt | 3 + core/src/main/kotlin/utilities/Collections.kt | 25 + core/src/main/kotlin/utilities/Html.kt | 2 +- .../utilities/SelfRepresentingSingletonSet.kt | 2 +- core/src/main/kotlin/utilities/ServiceLocator.kt | 2 +- core/src/main/kotlin/utilities/Uri.kt | 2 +- .../main/kotlin/utilities/associateWithNotNull.kt | 2 +- core/src/main/kotlin/utilities/cast.kt | 2 +- .../utilities/parallelCollectionOperations.kt | 7 +- .../kotlin/utilities/DokkaConfigurationJsonTest.kt | 5 +- core/src/test/kotlin/utilities/JsonKtTest.kt | 2 +- core/test-api/build.gradle.kts | 2 +- .../src/main/kotlin/testApi/logger/TestLogger.kt | 2 +- .../testRunner/TestDokkaConfigurationBuilder.kt | 4 +- .../main/kotlin/testApi/testRunner/TestRunner.kt | 25 +- gradle/libs.versions.toml | 15 +- integration-tests/cli/build.gradle.kts | 8 +- kotlin-analysis/build.gradle.kts | 17 - .../compiler-dependency/build.gradle.kts | 26 - .../intellij-dependency/build.gradle.kts | 75 -- .../jetbrains/dokka/analysis/AbsolutePathString.kt | 3 - .../jetbrains/dokka/analysis/AnalysisContext.kt | 94 -- .../dokka/analysis/AnalysisEnvironment.kt | 618 ---------- .../jetbrains/dokka/analysis/CallableFactory.kt | 31 - .../dokka/analysis/CoreKotlinCacheService.kt | 54 - .../org/jetbrains/dokka/analysis/DRIFactory.kt | 50 - .../jetbrains/dokka/analysis/DRITargetFactory.kt | 42 - .../org/jetbrains/dokka/analysis/Documentable.kt | 14 - .../dokka/analysis/DokkaResolutionFacade.kt | 123 -- .../dokka/analysis/JvmDependenciesIndexImpl.kt | 258 ---- .../org/jetbrains/dokka/analysis/KotlinAnalysis.kt | 111 -- .../dokka/analysis/KotlinCliJavaFileManagerImpl.kt | 306 ----- .../dokka/analysis/TypeReferenceFactory.kt | 68 -- .../dokka/analysis/resolve/CommonKlibModuleInfo.kt | 25 - .../analysis/resolve/DokkaJsKlibLibraryInfo.kt | 30 - .../resolve/DokkaJsResolverForModuleFactory.kt | 122 -- .../resolve/DokkaKlibLibraryDependencyResolver.kt | 17 - .../dokka/analysis/resolve/DokkaKlibLibraryInfo.kt | 10 - .../DokkaKlibMetadataCommonDependencyContainer.kt | 140 --- .../analysis/resolve/DokkaNativeKlibLibraryInfo.kt | 44 - .../resolve/DokkaNativeResolverForModuleFactory.kt | 76 -- plugins/all-modules-page/build.gradle.kts | 19 +- .../src/main/kotlin/MultimodulePageCreator.kt | 18 +- plugins/android-documentation/build.gradle.kts | 3 +- .../transformers/HideTagDocumentableFilterTest.kt | 4 +- plugins/base/api/base.api | 195 +-- plugins/base/base-test-utils/build.gradle.kts | 6 +- .../src/main/kotlin/testRunner/baseTestApi.kt | 5 +- plugins/base/build.gradle.kts | 17 +- .../main/components/search/dokkaFuzzyFilter.tsx | 4 +- .../frontend/src/main/components/search/search.tsx | 8 +- .../src/main/components/utils/requests.tsx | 4 +- plugins/base/src/main/kotlin/DokkaBase.kt | 71 +- .../base/src/main/kotlin/parsers/MarkdownParser.kt | 604 ---------- plugins/base/src/main/kotlin/parsers/Parser.kt | 131 -- .../factories/DocTagsFromIElementFactory.kt | 67 - .../parsers/factories/DocTagsFromStringFactory.kt | 77 -- .../IllegalModuleAndPackageDocumentation.kt | 7 - .../ModuleAndPackageDocumentation.kt | 11 - .../ModuleAndPackageDocumentationFragment.kt | 10 - .../ModuleAndPackageDocumentationParsingContext.kt | 64 - .../ModuleAndPackageDocumentationSource.kt | 14 - .../parseModuleAndPackageDocumentation.kt | 12 - .../parseModuleAndPackageDocumentationFragments.kt | 55 - .../main/kotlin/renderers/PackageListService.kt | 5 +- .../src/main/kotlin/renderers/html/HtmlRenderer.kt | 9 +- .../renderers/html/NavigationDataProvider.kt | 18 +- .../main/kotlin/renderers/html/NavigationPage.kt | 2 + .../kotlin/renderers/html/htmlPreprocessors.kt | 2 +- .../src/main/kotlin/renderers/preprocessors.kt | 7 +- .../javadoc/JavadocExternalLocationProvider.kt | 5 +- .../main/kotlin/signatures/JvmSignatureUtils.kt | 6 +- .../kotlin/signatures/KotlinSignatureProvider.kt | 14 +- .../main/kotlin/signatures/KotlinSignatureUtils.kt | 4 +- .../documentables/DefaultDocumentableMerger.kt | 4 +- .../DeprecatedDocumentableFilterTransformer.kt | 2 +- .../DocumentableVisibilityFilterTransformer.kt | 4 +- .../documentables/ExtensionExtractorTransformer.kt | 6 +- ...nheritedEntriesDocumentableFilterTransformer.kt | 5 +- .../InheritorsExtractorTransformer.kt | 2 +- .../ModuleAndPackageDocumentationReader.kt | 107 -- .../ModuleAndPackageDocumentationTransformer.kt | 12 +- .../documentables/ReportUndocumentedTransformer.kt | 41 +- .../documentables/SuppressTagDocumentableFilter.kt | 4 +- .../utils/FullClassHierarchyBuilder.kt | 84 -- .../pages/annotations/SinceKotlinTransformer.kt | 11 +- .../pages/comments/CommentsToContentConverter.kt | 4 +- .../pages/comments/DocTagToContentConverter.kt | 7 +- .../merger/SourceSetMergingPageTransformer.kt | 4 +- .../pages/samples/DefaultSamplesTransformer.kt | 36 - .../pages/samples/SamplesTransformer.kt | 148 --- .../pages/sourcelinks/SourceLinksTransformer.kt | 37 +- .../kotlin/translators/CollectionExtensions.kt | 12 - .../main/kotlin/translators/annotationsValue.kt | 3 - .../DefaultDescriptorToDocumentableTranslator.kt | 1250 ------------------- .../DefaultExternalDocumentablesProvider.kt | 42 - .../DescriptorAccessorConventionUtil.kt | 145 --- .../descriptors/ExternalClasslikesTranslator.kt | 12 - .../descriptors/ExternalDocumentablesProvider.kt | 22 - .../SyntheticDescriptorDocumentationProvider.kt | 47 - .../DefaultDocumentableToPageTranslator.kt | 7 +- .../documentables/DefaultPageCreator.kt | 18 +- .../documentables/DeprecationSectionCreator.kt | 2 +- .../documentables/DescriptionSections.kt | 14 +- .../documentables/briefFromContentNodes.kt | 12 +- .../documentables/documentableLanguage.kt | 15 - .../src/main/kotlin/translators/isException.kt | 18 - .../translators/parseWithNormalisedSpaces.kt | 56 - .../psi/DefaultPsiToDocumentableTranslator.kt | 863 ------------- .../translators/psi/PsiAccessorConventionUtil.kt | 94 -- .../main/kotlin/translators/psi/PsiInheritance.kt | 47 - .../psi/SynheticElementDocumentationProvider.kt | 39 - .../translators/psi/parsers/InheritDocResolver.kt | 129 -- .../translators/psi/parsers/JavadocParser.kt | 511 -------- .../kotlin/translators/psi/parsers/JavadocTag.kt | 32 - .../translators/psi/parsers/PsiCommentsUtils.kt | 146 --- .../kotlin/translators/psi/parsers/exceptionTag.kt | 14 - .../src/main/kotlin/utils/CollectionExtensions.kt | 12 + .../src/main/kotlin/utils/NoopIntellijLogger.kt | 43 - plugins/base/src/test/kotlin/basic/DRITest.kt | 2 +- .../base/src/test/kotlin/basic/DokkaBasicTests.kt | 3 +- .../src/test/kotlin/basic/FailOnWarningTest.kt | 2 +- .../annotations/ContentForAnnotationsTest.kt | 9 +- .../content/annotations/KotlinDeprecatedTest.kt | 4 +- .../kotlin/content/annotations/SinceKotlinTest.kt | 4 +- .../content/exceptions/ContentForExceptions.kt | 5 +- .../content/inheritors/ContentForInheritorsTest.kt | 5 +- .../kotlin/content/params/ContentForParamsTest.kt | 2 +- .../content/signatures/ContentForSignaturesTest.kt | 5 +- .../base/src/test/kotlin/enums/JavaEnumsTest.kt | 3 - .../base/src/test/kotlin/enums/KotlinEnumsTest.kt | 12 +- .../test/kotlin/expectActuals/ExpectActualsTest.kt | 5 +- .../src/test/kotlin/filter/JavaFileFilterTest.kt | 1 - .../filter/KotlinArrayDocumentableReplacerTest.kt | 10 +- .../kotlin/linkableContent/LinkableContentTest.kt | 42 +- .../test/kotlin/linking/EnumValuesLinkingTest.kt | 15 +- .../AndroidExternalLocationProviderTest.kt | 2 +- .../DefaultExternalLocationProviderTest.kt | 2 +- .../Dokka010ExternalLocationProviderTest.kt | 2 +- .../locationProvider/DokkaLocationProviderTest.kt | 7 +- .../JavadocExternalLocationProviderTest.kt | 7 +- .../locationProvider/MultiModuleLinkingTest.kt | 3 +- plugins/base/src/test/kotlin/markdown/KDocTest.kt | 4 +- plugins/base/src/test/kotlin/markdown/LinkTest.kt | 6 +- .../base/src/test/kotlin/markdown/ParserTest.kt | 99 +- plugins/base/src/test/kotlin/model/ClassesTest.kt | 2 +- plugins/base/src/test/kotlin/model/CommentTest.kt | 6 +- .../base/src/test/kotlin/model/ExtensionsTest.kt | 9 +- .../base/src/test/kotlin/model/InheritorsTest.kt | 435 ++++--- .../kotlin/model/MultiLanguageInheritanceTest.kt | 7 +- plugins/base/src/test/kotlin/model/PropertyTest.kt | 3 - .../kotlin/multiplatform/BasicMultiplatformTest.kt | 2 +- .../test/kotlin/pageMerger/PageNodeMergerTest.kt | 7 +- .../src/test/kotlin/parsers/JavadocParserTest.kt | 72 +- ...seModuleAndPackageDocumentationFragmentsTest.kt | 282 ----- .../kotlin/renderers/html/GroupWrappingTest.kt | 2 +- .../renderers/html/HtmlRenderingOnlyTestBase.kt | 4 +- .../kotlin/renderers/html/NavigationIconTest.kt | 2 +- .../test/kotlin/renderers/html/NavigationTest.kt | 2 +- .../FunctionalTypeConstructorsSignatureTest.kt | 3 +- .../kotlin/signatures/ObviousTypeSkippingTest.kt | 2 +- .../kotlin/signatures/VarianceSignatureTest.kt | 1 - .../PageTransformerBuilderTest.kt | 5 +- .../transformers/CommentsToContentConverterTest.kt | 3 +- ...textModuleAndPackageDocumentationReaderTest1.kt | 28 +- ...textModuleAndPackageDocumentationReaderTest3.kt | 8 +- .../test/kotlin/transformers/DivisionSwitchTest.kt | 7 +- ...ntentModuleAndPackageDocumentationReaderTest.kt | 12 +- .../MergeImplicitExpectActualDeclarationsTest.kt | 5 +- ...leAndPackageDocumentationTransformerUnitTest.kt | 36 +- .../ReportUndocumentedTransformerTest.kt | 2 +- .../transformers/SourceLinkTransformerTest.kt | 4 +- ...nfigurationDocumentableFilterTransformerTest.kt | 2 +- .../kotlin/translators/AccessorMethodNamingTest.kt | 5 +- .../base/src/test/kotlin/translators/Bug1341.kt | 2 +- .../DefaultPsiToDocumentableTranslatorTest.kt | 137 ++- .../translators/ExternalDocumentablesTest.kt | 19 +- .../kotlin/translators/JavadocInheritDocsTest.kt | 5 +- .../translators/JavadocInheritedDocTagsTest.kt | 13 +- .../test/kotlin/translators/JavadocParserTest.kt | 4 +- plugins/base/src/test/kotlin/translators/utils.kt | 1 - plugins/base/src/test/kotlin/utils/contentUtils.kt | 7 +- plugins/gfm/build.gradle.kts | 16 +- .../gfm/gfm-template-processing/build.gradle.kts | 2 +- .../org/jetbrains/dokka/gfm/gfmTemplating.kt | 4 +- .../test/kotlin/renderers/gfm/CodeWrappingTest.kt | 3 +- .../test/kotlin/renderers/gfm/GroupWrappingTest.kt | 2 +- plugins/javadoc/api/javadoc.api | 25 +- plugins/javadoc/build.gradle.kts | 8 +- .../org/jetbrains/dokka/javadoc/JavadocPlugin.kt | 8 +- .../dokka/javadoc/pages/JavadocPageNodes.kt | 102 +- .../dokka/javadoc/pages/htmlPreprocessors.kt | 14 +- .../JavadocContentToTemplateMapTranslator.kt | 7 +- .../dokka/javadoc/renderer/KorteJavadocRenderer.kt | 24 +- .../dokka/javadoc/renderer/SearchScriptsCreator.kt | 7 +- .../javadoc/signatures/JavadocSignatureProvider.kt | 2 +- .../documentables/JavadocPageContentBuilder.kt | 5 +- .../javadoc/AbstractJavadocTemplateMapTest.kt | 10 +- .../kotlin/org/jetbrains/dokka/javadoc/Asserts.kt | 3 +- .../dokka/javadoc/JavadocAccessorNamingTest.kt | 6 +- .../dokka/javadoc/location/JavadocLinkingTest.kt | 2 +- .../dokka/javadoc/location/JavadocLocationTest.kt | 12 +- .../javadoc/packagelist/JavadocPackageListTest.kt | 2 +- plugins/jekyll/build.gradle.kts | 4 +- .../jekyll-template-processing/build.gradle.kts | 2 +- plugins/kotlin-as-java/api/kotlin-as-java.api | 6 +- plugins/kotlin-as-java/build.gradle.kts | 11 +- .../src/main/kotlin/CollectionExtensions.kt | 12 + .../src/main/kotlin/converters/KotlinCompanion.kt | 11 +- .../kotlin/converters/KotlinToJavaConverter.kt | 869 ++++++------- plugins/kotlin-as-java/src/main/kotlin/jvmField.kt | 4 +- plugins/kotlin-as-java/src/main/kotlin/jvmName.kt | 6 +- .../kotlin-as-java/src/main/kotlin/jvmStatic.kt | 4 +- .../kotlin/signatures/JavaSignatureProvider.kt | 5 +- .../src/main/kotlin/transformToJava.kt | 19 +- .../KotlinAsJavaDocumentableTransformer.kt | 8 +- .../KotlinAsJavaDocumentableToPageTranslator.kt | 13 +- .../kotlin/translators/KotlinAsJavaPageCreator.kt | 11 +- .../src/test/kotlin/KotlinAsJavaPluginTest.kt | 9 +- plugins/mathjax/build.gradle.kts | 6 +- .../mathjax/src/test/kotlin/MathjaxPluginTest.kt | 2 +- plugins/templating/build.gradle.kts | 13 +- plugins/versioning/build.gradle.kts | 10 +- .../DefaultPreviousDocumentationCopyPostAction.kt | 4 +- .../org/jetbrains/dokka/gradle/DokkaArtifacts.kt | 4 +- .../dokka/gradle/GradleDokkaSourceSetBuilder.kt | 6 +- .../jetbrains/dokka/gradle/gradleConfigurations.kt | 2 +- .../gradle/ConfigureWithKotlinSourceSetGistTest.kt | 3 +- .../dokka/gradle/KotlinSourceSetGistTest.kt | 3 +- runners/maven-plugin/src/main/kotlin/DokkaMojo.kt | 3 +- settings.gradle.kts | 25 +- subprojects/analysis-java-psi/README.md | 5 + .../analysis-java-psi/api/analysis-java-psi.api | 148 +++ subprojects/analysis-java-psi/build.gradle.kts | 18 + .../java/DefaultPsiToDocumentableTranslator.kt | 83 ++ .../dokka/analysis/java/JavaAnalysisPlugin.kt | 106 ++ .../jetbrains/dokka/analysis/java/JavadocTag.kt | 48 + .../java/SynheticElementDocumentationProvider.kt | 42 + .../dokka/analysis/java/doccomment/DocComment.kt | 14 + .../analysis/java/doccomment/DocCommentCreator.kt | 9 + .../analysis/java/doccomment/DocCommentFactory.kt | 20 + .../analysis/java/doccomment/DocCommentFinder.kt | 64 + .../java/doccomment/DocumentationContent.kt | 11 + .../analysis/java/doccomment/JavaDocComment.kt | 84 ++ .../java/doccomment/JavaDocCommentCreator.kt | 11 + .../java/doccomment/PsiDocumentationContent.kt | 22 + .../java/parsers/CommentResolutionContext.kt | 9 + .../analysis/java/parsers/DocCommentParser.kt | 12 + .../dokka/analysis/java/parsers/DokkaPsiParser.kt | 797 ++++++++++++ .../analysis/java/parsers/JavaDocCommentParser.kt | 228 ++++ .../dokka/analysis/java/parsers/JavadocParser.kt | 24 + .../java/parsers/doctag/DocTagParserContext.kt | 47 + .../java/parsers/doctag/HtmlToDocTagConverter.kt | 114 ++ .../parsers/doctag/InheritDocTagContentProvider.kt | 10 + .../java/parsers/doctag/InheritDocTagResolver.kt | 114 ++ .../java/parsers/doctag/PsiDocTagParser.kt | 39 + .../parsers/doctag/PsiElementToHtmlConverter.kt | 214 ++++ .../dokka/analysis/java/util/CoreCopyPaste.kt | 20 + .../dokka/analysis/java/util/NoopIntellijLogger.kt | 43 + .../analysis/java/util/PropertiesConventionUtil.kt | 101 ++ .../java/util/PsiAccessorConventionUtil.kt | 98 ++ .../dokka/analysis/java/util/PsiCommentsUtils.kt | 49 + .../jetbrains/dokka/analysis/java/util/PsiUtil.kt | 119 ++ .../dokka/analysis/java/util/StdlibUtil.kt | 33 + .../dokka/analysis/java/util/resolveToGetDri.kt | 7 + .../org.jetbrains.dokka.plugability.DokkaPlugin | 1 + subprojects/analysis-kotlin-api/README.md | 10 + .../api/analysis-kotlin-api.api | 70 ++ subprojects/analysis-kotlin-api/build.gradle.kts | 14 + .../kotlin/analysis/kotlin/KotlinAnalysisPlugin.kt | 17 + .../internal/DocumentableSourceLanguageParser.kt | 16 + .../internal/ExternalDocumentablesProvider.kt | 24 + .../kotlin/internal/FullClassHierarchyBuilder.kt | 17 + .../analysis/kotlin/internal/InheritanceBuilder.kt | 21 + .../internal/InternalKotlinAnalysisPlugin.kt | 31 + .../kotlin/internal/KotlinToJavaService.kt | 9 + .../ModuleAndPackageDocumentationReader.kt | 15 + .../internal/SyntheticDocumentableDetector.kt | 11 + subprojects/analysis-kotlin-descriptors/README.md | 8 + .../api/analysis-kotlin-descriptors.api | 0 .../analysis-kotlin-descriptors/build.gradle.kts | 43 + .../analysis-kotlin-descriptors/compiler/README.md | 9 + .../compiler/api/compiler.api | 68 ++ .../compiler/build.gradle.kts | 21 + .../descriptors/compiler/AnalysisContextCreator.kt | 20 + .../compiler/CompilerDescriptorAnalysisPlugin.kt | 135 +++ .../CompilerDocumentableSourceLanguageParser.kt | 23 + .../compiler/CompilerExtensionPointProvider.kt | 14 + .../descriptors/compiler/DescriptorFinder.kt | 10 + .../kotlin/descriptors/compiler/KDocFinder.kt | 30 + .../kotlin/descriptors/compiler/KLibService.kt | 23 + .../descriptors/compiler/MockApplicationHack.kt | 9 + .../compiler/configuration/AbsolutePathString.kt | 3 + .../compiler/configuration/AnalysisContext.kt | 94 ++ .../compiler/configuration/AnalysisEnvironment.kt | 599 +++++++++ .../compiler/configuration/CallableFactory.kt | 31 + .../compiler/configuration/DRIFactory.kt | 49 + .../compiler/configuration/DRITargetFactory.kt | 42 + .../compiler/configuration/Documentable.kt | 24 + .../configuration/JvmDependenciesIndexImpl.kt | 264 ++++ .../compiler/configuration/KotlinAnalysis.kt | 94 ++ .../configuration/KotlinCliJavaFileManagerImpl.kt | 304 +++++ .../compiler/configuration/TypeReferenceFactory.kt | 68 ++ .../configuration/resolve/CommonKlibModuleInfo.kt | 25 + .../resolve/DokkaJsKlibLibraryInfo.kt | 30 + .../resolve/DokkaJsResolverForModuleFactory.kt | 125 ++ .../resolve/DokkaKlibLibraryDependencyResolver.kt | 17 + .../configuration/resolve/DokkaKlibLibraryInfo.kt | 10 + .../DokkaKlibMetadataCommonDependencyContainer.kt | 139 +++ .../resolve/DokkaNativeKlibLibraryInfo.kt | 50 + .../resolve/DokkaNativeResolverForModuleFactory.kt | 79 ++ .../compiler/impl/DefaultSamplesTransformer.kt | 35 + .../impl/DescriptorFullClassHierarchyBuilder.kt | 85 ++ .../compiler/impl/DescriptorInheritanceBuilder.kt | 91 ++ .../compiler/impl/DescriptorKotlinToJavaMapper.kt | 31 + .../DescriptorSyntheticDocumentableDetector.kt | 33 + .../compiler/impl/SamplesTransformerImpl.kt | 153 +++ .../IllegalModuleAndPackageDocumentation.kt | 7 + .../moduledocs/ModuleAndPackageDocumentation.kt | 11 + .../ModuleAndPackageDocumentationFragment.kt | 9 + .../ModuleAndPackageDocumentationParsingContext.kt | 71 ++ .../ModuleAndPackageDocumentationReader.kt | 113 ++ .../ModuleAndPackageDocumentationSource.kt | 14 + .../parseModuleAndPackageDocumentation.kt | 12 + .../parseModuleAndPackageDocumentationFragments.kt | 55 + .../java/DescriptorDocumentationContent.kt | 16 + .../compiler/java/DescriptorKotlinDocComment.kt | 79 ++ .../java/DescriptorKotlinDocCommentCreator.kt | 26 + .../java/DescriptorKotlinDocCommentParser.kt | 54 + .../compiler/java/KotlinAnalysisProjectProvider.kt | 16 + .../java/KotlinAnalysisSourceRootsExtractor.kt | 27 + .../java/KotlinInheritDocTagContentProvider.kt | 31 + .../compiler/translator/CollectionExtensions.kt | 12 + .../DefaultDescriptorToDocumentableTranslator.kt | 1275 ++++++++++++++++++++ .../DefaultExternalDocumentablesProvider.kt | 43 + .../translator/DescriptorAccessorConventionUtil.kt | 144 +++ .../translator/ExternalClasslikesTranslator.kt | 12 + .../compiler/translator/KdocMarkdownParser.kt | 101 ++ .../SyntheticDescriptorDocumentationProvider.kt | 46 + .../compiler/translator/annotationsValue.kt | 3 + .../descriptors/compiler/translator/isException.kt | 18 + .../org.jetbrains.dokka.plugability.DokkaPlugin | 1 + ...seModuleAndPackageDocumentationFragmentsTest.kt | 282 +++++ .../analysis-kotlin-descriptors/ide/README.md | 11 + .../analysis-kotlin-descriptors/ide/api/ide.api | 4 + .../ide/build.gradle.kts | 21 + .../descriptors/ide/CoreKotlinCacheService.kt | 54 + .../descriptors/ide/DokkaResolutionFacade.kt | 123 ++ .../descriptors/ide/IdeAnalysisContextCreator.kt | 29 + .../ide/IdeCompilerExtensionPointProvider.kt | 46 + .../descriptors/ide/IdeDescriptorAnalysisPlugin.kt | 38 + .../kotlin/descriptors/ide/IdeDescriptorFinder.kt | 12 + .../kotlin/descriptors/ide/IdeKLibService.kt | 30 + .../descriptors/ide/IdeMockApplicationHack.kt | 12 + .../kotlin/descriptors/ide/IdePluginKDocFinder.kt | 48 + .../ide/ResolutionFacadeAnalysisContext.kt | 30 + .../org.jetbrains.dokka.plugability.DokkaPlugin | 1 + subprojects/analysis-kotlin-symbols/README.md | 8 + .../api/analysis-kotlin-symbols.api | 0 .../analysis-kotlin-symbols/build.gradle.kts | 34 + .../compiler/api/compiler.api | 4 + .../compiler/build.gradle.kts | 13 + .../compiler/CompilerSymbolsAnalysisPlugin.kt | 11 + .../org.jetbrains.dokka.plugability.DokkaPlugin | 1 + .../analysis-kotlin-symbols/ide/api/ide.api | 4 + .../analysis-kotlin-symbols/ide/build.gradle.kts | 13 + .../kotlin/symbols/ide/IdeSymbolsAnalysisPlugin.kt | 11 + .../org.jetbrains.dokka.plugability.DokkaPlugin | 1 + subprojects/analysis-markdown-jb/README.md | 7 + .../api/analysis-markdown-jb.api | 28 + subprojects/analysis-markdown-jb/build.gradle.kts | 17 + .../dokka/analysis/markdown/jb/MarkdownApi.kt | 8 + .../dokka/analysis/markdown/jb/MarkdownParser.kt | 511 ++++++++ .../dokka/analysis/markdown/jb/ParseUtils.kt | 39 + .../jetbrains/dokka/analysis/markdown/jb/Parser.kt | 131 ++ .../jb/factories/DocTagsFromIElementFactory.kt | 86 ++ 385 files changed, 11300 insertions(+), 9345 deletions(-) create mode 100644 core/src/main/kotlin/utilities/Collections.kt delete mode 100644 kotlin-analysis/build.gradle.kts delete mode 100644 kotlin-analysis/compiler-dependency/build.gradle.kts delete mode 100644 kotlin-analysis/intellij-dependency/build.gradle.kts delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AbsolutePathString.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisContext.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/AnalysisEnvironment.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CallableFactory.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/CoreKotlinCacheService.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRIFactory.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DRITargetFactory.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/Documentable.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/DokkaResolutionFacade.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/JvmDependenciesIndexImpl.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinCliJavaFileManagerImpl.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/TypeReferenceFactory.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/CommonKlibModuleInfo.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaJsKlibLibraryInfo.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaJsResolverForModuleFactory.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaKlibLibraryDependencyResolver.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaKlibLibraryInfo.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaKlibMetadataCommonDependencyContainer.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaNativeKlibLibraryInfo.kt delete mode 100644 kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/resolve/DokkaNativeResolverForModuleFactory.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/MarkdownParser.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/Parser.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/factories/DocTagsFromIElementFactory.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/factories/DocTagsFromStringFactory.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/IllegalModuleAndPackageDocumentation.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentation.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationFragment.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationParsingContext.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/ModuleAndPackageDocumentationSource.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/parseModuleAndPackageDocumentation.kt delete mode 100644 plugins/base/src/main/kotlin/parsers/moduleAndPackage/parseModuleAndPackageDocumentationFragments.kt delete mode 100644 plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationReader.kt delete mode 100644 plugins/base/src/main/kotlin/transformers/documentables/utils/FullClassHierarchyBuilder.kt delete mode 100644 plugins/base/src/main/kotlin/transformers/pages/samples/DefaultSamplesTransformer.kt delete mode 100644 plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt delete mode 100644 plugins/base/src/main/kotlin/translators/CollectionExtensions.kt delete mode 100644 plugins/base/src/main/kotlin/translators/annotationsValue.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/DefaultExternalDocumentablesProvider.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/DescriptorAccessorConventionUtil.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/ExternalClasslikesTranslator.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/ExternalDocumentablesProvider.kt delete mode 100644 plugins/base/src/main/kotlin/translators/descriptors/SyntheticDescriptorDocumentationProvider.kt delete mode 100644 plugins/base/src/main/kotlin/translators/documentables/documentableLanguage.kt delete mode 100644 plugins/base/src/main/kotlin/translators/isException.kt delete mode 100644 plugins/base/src/main/kotlin/translators/parseWithNormalisedSpaces.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/PsiAccessorConventionUtil.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/PsiInheritance.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/SynheticElementDocumentationProvider.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/parsers/PsiCommentsUtils.kt delete mode 100644 plugins/base/src/main/kotlin/translators/psi/parsers/exceptionTag.kt create mode 100644 plugins/base/src/main/kotlin/utils/CollectionExtensions.kt delete mode 100644 plugins/base/src/main/kotlin/utils/NoopIntellijLogger.kt delete mode 100644 plugins/base/src/test/kotlin/parsers/ParseModuleAndPackageDocumentationFragmentsTest.kt create mode 100644 plugins/kotlin-as-java/src/main/kotlin/CollectionExtensions.kt create mode 100644 subprojects/analysis-java-psi/README.md create mode 100644 subprojects/analysis-java-psi/api/analysis-java-psi.api create mode 100644 subprojects/analysis-java-psi/build.gradle.kts create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/DefaultPsiToDocumentableTranslator.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/JavaAnalysisPlugin.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/JavadocTag.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/SynheticElementDocumentationProvider.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/DocComment.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/DocCommentCreator.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/DocCommentFactory.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/DocCommentFinder.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/DocumentationContent.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/JavaDocComment.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/JavaDocCommentCreator.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/doccomment/PsiDocumentationContent.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/CommentResolutionContext.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DocCommentParser.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/DokkaPsiParser.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/JavaDocCommentParser.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/JavadocParser.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/DocTagParserContext.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/HtmlToDocTagConverter.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/InheritDocTagContentProvider.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/InheritDocTagResolver.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/PsiDocTagParser.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/parsers/doctag/PsiElementToHtmlConverter.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/CoreCopyPaste.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/NoopIntellijLogger.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/PropertiesConventionUtil.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/PsiAccessorConventionUtil.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/PsiCommentsUtils.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/PsiUtil.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/StdlibUtil.kt create mode 100644 subprojects/analysis-java-psi/src/main/kotlin/org/jetbrains/dokka/analysis/java/util/resolveToGetDri.kt create mode 100644 subprojects/analysis-java-psi/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin create mode 100644 subprojects/analysis-kotlin-api/README.md create mode 100644 subprojects/analysis-kotlin-api/api/analysis-kotlin-api.api create mode 100644 subprojects/analysis-kotlin-api/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/KotlinAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/DocumentableSourceLanguageParser.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/ExternalDocumentablesProvider.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/FullClassHierarchyBuilder.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/InheritanceBuilder.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/InternalKotlinAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/KotlinToJavaService.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/ModuleAndPackageDocumentationReader.kt create mode 100644 subprojects/analysis-kotlin-api/src/main/kotlin/org/jetbrains/kotlin/analysis/kotlin/internal/SyntheticDocumentableDetector.kt create mode 100644 subprojects/analysis-kotlin-descriptors/README.md create mode 100644 subprojects/analysis-kotlin-descriptors/api/analysis-kotlin-descriptors.api create mode 100644 subprojects/analysis-kotlin-descriptors/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/README.md create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/api/compiler.api create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/AnalysisContextCreator.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/CompilerDescriptorAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/CompilerDocumentableSourceLanguageParser.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/CompilerExtensionPointProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/DescriptorFinder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/KDocFinder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/KLibService.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/MockApplicationHack.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/AbsolutePathString.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/AnalysisContext.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/AnalysisEnvironment.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/CallableFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/DRIFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/DRITargetFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/Documentable.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/JvmDependenciesIndexImpl.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/KotlinAnalysis.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/KotlinCliJavaFileManagerImpl.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/TypeReferenceFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/CommonKlibModuleInfo.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaJsKlibLibraryInfo.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaJsResolverForModuleFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaKlibLibraryDependencyResolver.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaKlibLibraryInfo.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaKlibMetadataCommonDependencyContainer.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaNativeKlibLibraryInfo.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/configuration/resolve/DokkaNativeResolverForModuleFactory.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/DefaultSamplesTransformer.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/DescriptorFullClassHierarchyBuilder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/DescriptorInheritanceBuilder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/DescriptorKotlinToJavaMapper.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/DescriptorSyntheticDocumentableDetector.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/SamplesTransformerImpl.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/IllegalModuleAndPackageDocumentation.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/ModuleAndPackageDocumentation.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/ModuleAndPackageDocumentationFragment.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/ModuleAndPackageDocumentationParsingContext.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/ModuleAndPackageDocumentationReader.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/ModuleAndPackageDocumentationSource.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/parseModuleAndPackageDocumentation.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/impl/moduledocs/parseModuleAndPackageDocumentationFragments.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/DescriptorDocumentationContent.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/DescriptorKotlinDocComment.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/DescriptorKotlinDocCommentCreator.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/DescriptorKotlinDocCommentParser.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/KotlinAnalysisProjectProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/KotlinAnalysisSourceRootsExtractor.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/java/KotlinInheritDocTagContentProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/CollectionExtensions.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/DefaultDescriptorToDocumentableTranslator.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/DefaultExternalDocumentablesProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/DescriptorAccessorConventionUtil.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/ExternalClasslikesTranslator.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/KdocMarkdownParser.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/SyntheticDescriptorDocumentationProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/annotationsValue.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/compiler/translator/isException.kt create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin create mode 100644 subprojects/analysis-kotlin-descriptors/compiler/src/test/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ParseModuleAndPackageDocumentationFragmentsTest.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/README.md create mode 100644 subprojects/analysis-kotlin-descriptors/ide/api/ide.api create mode 100644 subprojects/analysis-kotlin-descriptors/ide/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/CoreKotlinCacheService.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/DokkaResolutionFacade.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeAnalysisContextCreator.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeCompilerExtensionPointProvider.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeDescriptorAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeDescriptorFinder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeKLibService.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdeMockApplicationHack.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/IdePluginKDocFinder.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/descriptors/ide/ResolutionFacadeAnalysisContext.kt create mode 100644 subprojects/analysis-kotlin-descriptors/ide/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin create mode 100644 subprojects/analysis-kotlin-symbols/README.md create mode 100644 subprojects/analysis-kotlin-symbols/api/analysis-kotlin-symbols.api create mode 100644 subprojects/analysis-kotlin-symbols/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-symbols/compiler/api/compiler.api create mode 100644 subprojects/analysis-kotlin-symbols/compiler/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-symbols/compiler/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/compiler/CompilerSymbolsAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-symbols/compiler/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin create mode 100644 subprojects/analysis-kotlin-symbols/ide/api/ide.api create mode 100644 subprojects/analysis-kotlin-symbols/ide/build.gradle.kts create mode 100644 subprojects/analysis-kotlin-symbols/ide/src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/ide/IdeSymbolsAnalysisPlugin.kt create mode 100644 subprojects/analysis-kotlin-symbols/ide/src/main/resources/META-INF/services/org.jetbrains.dokka.plugability.DokkaPlugin create mode 100644 subprojects/analysis-markdown-jb/README.md create mode 100644 subprojects/analysis-markdown-jb/api/analysis-markdown-jb.api create mode 100644 subprojects/analysis-markdown-jb/build.gradle.kts create mode 100644 subprojects/analysis-markdown-jb/src/main/kotlin/org/jetbrains/dokka/analysis/markdown/jb/MarkdownApi.kt create mode 100644 subprojects/analysis-markdown-jb/src/main/kotlin/org/jetbrains/dokka/analysis/markdown/jb/MarkdownParser.kt create mode 100644 subprojects/analysis-markdown-jb/src/main/kotlin/org/jetbrains/dokka/analysis/markdown/jb/ParseUtils.kt create mode 100644 subprojects/analysis-markdown-jb/src/main/kotlin/org/jetbrains/dokka/analysis/markdown/jb/Parser.kt create mode 100644 subprojects/analysis-markdown-jb/src/main/kotlin/org/jetbrains/dokka/analysis/markdown/jb/factories/DocTagsFromIElementFactory.kt diff --git a/build.gradle.kts b/build.gradle.kts index 689e9215..d3b965bd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -41,10 +41,6 @@ apiValidation { // NAME PATH "frontend", // :plugins:base:frontend - "kotlin-analysis", // :kotlin-analysis - "compiler-dependency", // :kotlin-analysis:compiler-dependency - "intellij-dependency", // :kotlin-analysis:intellij-dependency - "integration-tests", // :integration-tests "gradle", // :integration-tests:gradle "cli", // :integration-tests:cli diff --git a/core/api/core.api b/core/api/core.api index ac48cfd5..9530899d 100644 --- a/core/api/core.api +++ b/core/api/core.api @@ -1459,6 +1459,7 @@ public final class org/jetbrains/dokka/model/DocumentableKt { } public abstract interface class org/jetbrains/dokka/model/DocumentableSource { + public abstract fun computeLineNumber ()Ljava/lang/Integer; public abstract fun getPath ()Ljava/lang/String; } @@ -1782,6 +1783,24 @@ public final class org/jetbrains/dokka/model/Invariance : org/jetbrains/dokka/mo public fun toString ()Ljava/lang/String; } +public final class org/jetbrains/dokka/model/IsAlsoParameter : org/jetbrains/dokka/model/properties/ExtraProperty { + public static final field Companion Lorg/jetbrains/dokka/model/IsAlsoParameter$Companion; + public fun (Ljava/util/List;)V + public final fun component1 ()Ljava/util/List; + public final fun copy (Ljava/util/List;)Lorg/jetbrains/dokka/model/IsAlsoParameter; + public static synthetic fun copy$default (Lorg/jetbrains/dokka/model/IsAlsoParameter;Ljava/util/List;ILjava/lang/Object;)Lorg/jetbrains/dokka/model/IsAlsoParameter; + public fun equals (Ljava/lang/Object;)Z + public final fun getInSourceSets ()Ljava/util/List; + public fun getKey ()Lorg/jetbrains/dokka/model/properties/ExtraProperty$Key; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/dokka/model/IsAlsoParameter$Companion : org/jetbrains/dokka/model/properties/ExtraProperty$Key { + public synthetic fun mergeStrategyFor (Ljava/lang/Object;Ljava/lang/Object;)Lorg/jetbrains/dokka/model/properties/MergeStrategy; + public fun mergeStrategyFor (Lorg/jetbrains/dokka/model/IsAlsoParameter;Lorg/jetbrains/dokka/model/IsAlsoParameter;)Lorg/jetbrains/dokka/model/properties/MergeStrategy; +} + public final class org/jetbrains/dokka/model/IsVar : org/jetbrains/dokka/model/properties/ExtraProperty, org/jetbrains/dokka/model/properties/ExtraProperty$Key { public static final field INSTANCE Lorg/jetbrains/dokka/model/IsVar; public fun getKey ()Lorg/jetbrains/dokka/model/properties/ExtraProperty$Key; @@ -4400,6 +4419,7 @@ public abstract class org/jetbrains/dokka/plugability/DokkaPlugin { protected final fun extending (Lkotlin/jvm/functions/Function1;)Lorg/jetbrains/dokka/plugability/DokkaPlugin$ExtensionProvider; protected final fun extensionPoint ()Lkotlin/properties/ReadOnlyProperty; public final fun getContext ()Lorg/jetbrains/dokka/plugability/DokkaContext; + protected final fun getLogger ()Lorg/jetbrains/dokka/utilities/DokkaLogger; protected abstract fun pluginApiPreviewAcknowledgement ()Lorg/jetbrains/dokka/plugability/PluginApiPreviewAcknowledgement; public final fun setContext (Lorg/jetbrains/dokka/plugability/DokkaContext;)V protected final fun unsafeInstall (Lkotlin/Lazy;)V diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 1afed43d..2a5b668c 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -7,11 +7,8 @@ plugins { } dependencies { - api(libs.jetbrains.markdown) implementation(kotlin("reflect")) - - implementation(libs.jsoup) - + implementation(libs.kotlinx.coroutines.core) implementation(libs.jackson.kotlin) implementation(libs.jackson.xml) constraints { @@ -20,8 +17,6 @@ dependencies { } } - implementation(libs.kotlinx.coroutines.core) - testImplementation(projects.core.testApi) testImplementation(kotlin("test-junit")) } diff --git a/core/src/main/kotlin/CoreExtensions.kt b/core/src/main/kotlin/CoreExtensions.kt index ddfa0c69..8b5196c3 100644 --- a/core/src/main/kotlin/CoreExtensions.kt +++ b/core/src/main/kotlin/CoreExtensions.kt @@ -1,7 +1,7 @@ package org.jetbrains.dokka import org.jetbrains.dokka.generation.Generation -import org.jetbrains.dokka.plugability.* +import org.jetbrains.dokka.plugability.ExtensionPoint import org.jetbrains.dokka.renderers.PostAction import org.jetbrains.dokka.renderers.Renderer import org.jetbrains.dokka.transformers.documentation.DocumentableMerger @@ -28,4 +28,4 @@ object CoreExtensions { operator fun provideDelegate(thisRef: CoreExtensions, property: KProperty<*>): Lazy> = lazy { ExtensionPoint(thisRef::class.qualifiedName!!, property.name) } } -} \ No newline at end of file +} diff --git a/core/src/main/kotlin/DokkaBootstrap.kt b/core/src/main/kotlin/DokkaBootstrap.kt index f4533d5b..10a91c5e 100644 --- a/core/src/main/kotlin/DokkaBootstrap.kt +++ b/core/src/main/kotlin/DokkaBootstrap.kt @@ -1,7 +1,6 @@ package org.jetbrains.dokka import java.util.function.BiConsumer -import kotlin.jvm.Throws interface DokkaBootstrap { @Throws(Throwable::class) diff --git a/core/src/main/kotlin/InternalDokkaApi.kt b/core/src/main/kotlin/InternalDokkaApi.kt index 4389bf7b..0582d350 100644 --- a/core/src/main/kotlin/InternalDokkaApi.kt +++ b/core/src/main/kotlin/InternalDokkaApi.kt @@ -16,6 +16,9 @@ package org.jetbrains.dokka level = RequiresOptIn.Level.ERROR, message = "This is an internal Dokka API not intended for public use" ) -@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.FIELD) +@Target( + AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.FIELD, + AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS +) @Retention(AnnotationRetention.BINARY) public annotation class InternalDokkaApi() diff --git a/core/src/main/kotlin/model/Documentable.kt b/core/src/main/kotlin/model/Documentable.kt index c7b2290e..64c3e14c 100644 --- a/core/src/main/kotlin/model/Documentable.kt +++ b/core/src/main/kotlin/model/Documentable.kt @@ -518,6 +518,15 @@ fun SourceSetDependent?.orEmpty(): SourceSetDependent = this ?: emptyM interface DocumentableSource { val path: String + + /** + * Computes the first line number of the documentable's declaration/signature/identifier. + * + * Numbering is always 1-based. + * + * May return null if the sources could not be found - for example, for synthetic/generated declarations. + */ + fun computeLineNumber(): Int? } -data class TypeConstructorWithKind(val typeConstructor: TypeConstructor, val kind: ClassKind) \ No newline at end of file +data class TypeConstructorWithKind(val typeConstructor: TypeConstructor, val kind: ClassKind) diff --git a/core/src/main/kotlin/model/WithChildren.kt b/core/src/main/kotlin/model/WithChildren.kt index 01a188c8..7412971a 100644 --- a/core/src/main/kotlin/model/WithChildren.kt +++ b/core/src/main/kotlin/model/WithChildren.kt @@ -91,4 +91,4 @@ fun > T.asPrintableTree( } return buildString { append(this@asPrintableTree, "", "") } -} \ No newline at end of file +} diff --git a/core/src/main/kotlin/model/documentableProperties.kt b/core/src/main/kotlin/model/documentableProperties.kt index 9fe8aa1d..4e743b0a 100644 --- a/core/src/main/kotlin/model/documentableProperties.kt +++ b/core/src/main/kotlin/model/documentableProperties.kt @@ -49,6 +49,15 @@ object IsVar : ExtraProperty, ExtraProperty.Key { override val key: ExtraProperty.Key = this } +data class IsAlsoParameter(val inSourceSets: List) : ExtraProperty { + companion object : ExtraProperty.Key { + override fun mergeStrategyFor(left: IsAlsoParameter, right: IsAlsoParameter): MergeStrategy = + MergeStrategy.Replace(IsAlsoParameter(left.inSourceSets + right.inSourceSets)) + } + + override val key: ExtraProperty.Key = IsAlsoParameter +} + data class CheckedExceptions(val exceptions: SourceSetDependent>) : ExtraProperty, ExtraProperty.Key { companion object : ExtraProperty.Key { override fun mergeStrategyFor(left: CheckedExceptions, right: CheckedExceptions) = diff --git a/core/src/main/kotlin/plugability/DokkaPlugin.kt b/core/src/main/kotlin/plugability/DokkaPlugin.kt index 54733ac2..99fa4b95 100644 --- a/core/src/main/kotlin/plugability/DokkaPlugin.kt +++ b/core/src/main/kotlin/plugability/DokkaPlugin.kt @@ -4,6 +4,7 @@ import com.fasterxml.jackson.dataformat.xml.JacksonXmlModule import com.fasterxml.jackson.dataformat.xml.XmlMapper import com.fasterxml.jackson.module.kotlin.readValue import org.jetbrains.dokka.DokkaConfiguration +import org.jetbrains.dokka.utilities.DokkaLogger import org.jetbrains.dokka.utilities.parseJson import kotlin.properties.ReadOnlyProperty import kotlin.reflect.KProperty @@ -33,6 +34,8 @@ abstract class DokkaPlugin { @PublishedApi internal var context: DokkaContext? = null + protected val logger: DokkaLogger get() = context?.logger ?: throw IllegalStateException("No logger found") + /** * @see PluginApiPreviewAcknowledgement */ diff --git a/core/src/main/kotlin/utilities/Collections.kt b/core/src/main/kotlin/utilities/Collections.kt new file mode 100644 index 00000000..b18752f7 --- /dev/null +++ b/core/src/main/kotlin/utilities/Collections.kt @@ -0,0 +1,25 @@ +package org.jetbrains.dokka.utilities + +import org.jetbrains.dokka.InternalDokkaApi + +/** + * This utility method was previously imported from `org.jetbrains.kotlin.utils.addToStdlib`, + * and there were a lot of usages. Since no replacement exists in stdlib, it was implemented + * locally for convenience. + */ +@InternalDokkaApi +inline fun Iterable<*>.firstIsInstanceOrNull(): T? { + for (element in this) if (element is T) return element + return null +} + +/** + * This utility method was previously imported from `org.jetbrains.kotlin.utils.addToStdlib`, + * and there were a lot of usages. Since no replacement exists in stdlib, it was implemented + * locally for convenience. + */ +@InternalDokkaApi +inline fun Sequence<*>.firstIsInstanceOrNull(): T? { + for (element in this) if (element is T) return element + return null +} diff --git a/core/src/main/kotlin/utilities/Html.kt b/core/src/main/kotlin/utilities/Html.kt index a1d8ecec..262dd0a0 100644 --- a/core/src/main/kotlin/utilities/Html.kt +++ b/core/src/main/kotlin/utilities/Html.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi import java.net.URLEncoder diff --git a/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt b/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt index c29d1b2a..e1b42388 100644 --- a/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt +++ b/core/src/main/kotlin/utilities/SelfRepresentingSingletonSet.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi @InternalDokkaApi interface SelfRepresentingSingletonSet> : Set { diff --git a/core/src/main/kotlin/utilities/ServiceLocator.kt b/core/src/main/kotlin/utilities/ServiceLocator.kt index f86960ec..b5b19057 100644 --- a/core/src/main/kotlin/utilities/ServiceLocator.kt +++ b/core/src/main/kotlin/utilities/ServiceLocator.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi import java.io.File import java.net.URISyntaxException import java.net.URL diff --git a/core/src/main/kotlin/utilities/Uri.kt b/core/src/main/kotlin/utilities/Uri.kt index 67c81d98..ef8549f7 100644 --- a/core/src/main/kotlin/utilities/Uri.kt +++ b/core/src/main/kotlin/utilities/Uri.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi import java.net.URI @InternalDokkaApi diff --git a/core/src/main/kotlin/utilities/associateWithNotNull.kt b/core/src/main/kotlin/utilities/associateWithNotNull.kt index 6c0bf4d8..9ff55d2c 100644 --- a/core/src/main/kotlin/utilities/associateWithNotNull.kt +++ b/core/src/main/kotlin/utilities/associateWithNotNull.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi @InternalDokkaApi inline fun Iterable.associateWithNotNull(valueSelector: (K) -> V?): Map { diff --git a/core/src/main/kotlin/utilities/cast.kt b/core/src/main/kotlin/utilities/cast.kt index 784b7e2a..9fe76ef6 100644 --- a/core/src/main/kotlin/utilities/cast.kt +++ b/core/src/main/kotlin/utilities/cast.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.utilities -import org.jetbrains.dokka.* +import org.jetbrains.dokka.InternalDokkaApi @InternalDokkaApi inline fun Any.cast(): T { diff --git a/core/src/main/kotlin/utilities/parallelCollectionOperations.kt b/core/src/main/kotlin/utilities/parallelCollectionOperations.kt index d24aa7a6..cff8d735 100644 --- a/core/src/main/kotlin/utilities/parallelCollectionOperations.kt +++ b/core/src/main/kotlin/utilities/parallelCollectionOperat