package org.jetbrains.dokka import org.jetbrains.dokka.pages.CommentsToContentConverter import org.jetbrains.dokka.plugability.ExtensionPoint import org.jetbrains.dokka.renderers.Renderer import org.jetbrains.dokka.renderers.OutputWriter import org.jetbrains.dokka.resolvers.LocationProviderFactory import org.jetbrains.dokka.transformers.descriptors.DescriptorToDocumentationTranslator import org.jetbrains.dokka.transformers.documentation.DocumentableMerger import org.jetbrains.dokka.transformers.documentation.DocumentationNodeTransformer import org.jetbrains.dokka.transformers.documentation.DocumentablesToPageTranslator import org.jetbrains.dokka.transformers.pages.PageNodeTransformer import org.jetbrains.dokka.transformers.psi.PsiToDocumentationTranslator import kotlin.reflect.KProperty /** * Extension points declared by dokka core. * Default values are stored in [org.jetbrains.dokka.plugability.DefaultExtensions] */ object CoreExtensions { val descriptorToDocumentationTranslator by coreExtension() val psiToDocumentationTranslator by coreExtension() val documentableMerger by coreExtension() val documentationTransformer by coreExtension() val documentablesToPageTranslator by coreExtension() val pageTransformer by coreExtension() val renderer by coreExtension() val commentsToContentConverter by coreExtension() val locationProviderFactory by coreExtension() val outputWriter by coreExtension() private fun coreExtension() = object { operator fun provideDelegate(thisRef: CoreExtensions, property: KProperty<*>): Lazy> = lazy { ExtensionPoint(thisRef::class.qualifiedName!!, property.name) } } }