KT-22815: Render annotations on separate lines
This commit is contained in:
@@ -192,6 +192,7 @@ interface DescriptorRendererOptions {
|
|||||||
var excludedAnnotationClasses: Set<FqName>
|
var excludedAnnotationClasses: Set<FqName>
|
||||||
var excludedTypeAnnotationClasses: Set<FqName>
|
var excludedTypeAnnotationClasses: Set<FqName>
|
||||||
var annotationFilter: ((AnnotationDescriptor) -> Boolean)?
|
var annotationFilter: ((AnnotationDescriptor) -> Boolean)?
|
||||||
|
var eachAnnotationOnNewLine: Boolean
|
||||||
|
|
||||||
var annotationArgumentsRenderingPolicy: AnnotationArgumentsRenderingPolicy
|
var annotationArgumentsRenderingPolicy: AnnotationArgumentsRenderingPolicy
|
||||||
val includeAnnotationArguments: Boolean get() = annotationArgumentsRenderingPolicy.includeAnnotationArguments
|
val includeAnnotationArguments: Boolean get() = annotationArgumentsRenderingPolicy.includeAnnotationArguments
|
||||||
|
|||||||
@@ -403,7 +403,12 @@ internal class DescriptorRendererImpl(
|
|||||||
val annotationFilter = annotationFilter
|
val annotationFilter = annotationFilter
|
||||||
for ((annotation, target) in annotated.annotations.getAllAnnotations()) {
|
for ((annotation, target) in annotated.annotations.getAllAnnotations()) {
|
||||||
if (annotation.fqName !in excluded && (annotationFilter == null || annotationFilter(annotation))) {
|
if (annotation.fqName !in excluded && (annotationFilter == null || annotationFilter(annotation))) {
|
||||||
append(renderAnnotation(annotation, target)).append(" ")
|
append(renderAnnotation(annotation, target))
|
||||||
|
if (eachAnnotationOnNewLine) {
|
||||||
|
appendln()
|
||||||
|
} else {
|
||||||
|
append(" ")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,6 +96,8 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
|||||||
override var renderAccessors by property(false)
|
override var renderAccessors by property(false)
|
||||||
override var renderDefaultAnnotationArguments by property(false)
|
override var renderDefaultAnnotationArguments by property(false)
|
||||||
|
|
||||||
|
override var eachAnnotationOnNewLine: Boolean by property(false)
|
||||||
|
|
||||||
override var excludedAnnotationClasses by property(emptySet<FqName>())
|
override var excludedAnnotationClasses by property(emptySet<FqName>())
|
||||||
|
|
||||||
override var excludedTypeAnnotationClasses by property(ExcludedTypeAnnotations.internalAnnotationsForResolve)
|
override var excludedTypeAnnotationClasses by property(ExcludedTypeAnnotations.internalAnnotationsForResolve)
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import org.jetbrains.kotlin.kdoc.psi.api.KDoc
|
|||||||
import org.jetbrains.kotlin.kdoc.psi.impl.KDocSection
|
import org.jetbrains.kotlin.kdoc.psi.impl.KDocSection
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.*
|
import org.jetbrains.kotlin.psi.psiUtil.*
|
||||||
|
import org.jetbrains.kotlin.renderer.AnnotationArgumentsRenderingPolicy
|
||||||
import org.jetbrains.kotlin.renderer.ClassifierNamePolicy
|
import org.jetbrains.kotlin.renderer.ClassifierNamePolicy
|
||||||
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
import org.jetbrains.kotlin.renderer.DescriptorRenderer
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
import org.jetbrains.kotlin.resolve.BindingContext
|
||||||
@@ -165,8 +166,10 @@ class KotlinQuickDocumentationProvider : AbstractDocumentationProvider() {
|
|||||||
private val DESCRIPTOR_RENDERER = DescriptorRenderer.HTML.withOptions {
|
private val DESCRIPTOR_RENDERER = DescriptorRenderer.HTML.withOptions {
|
||||||
classifierNamePolicy = HtmlClassifierNamePolicy(ClassifierNamePolicy.SHORT)
|
classifierNamePolicy = HtmlClassifierNamePolicy(ClassifierNamePolicy.SHORT)
|
||||||
valueParametersHandler = WrapValueParameterHandler(valueParametersHandler)
|
valueParametersHandler = WrapValueParameterHandler(valueParametersHandler)
|
||||||
|
annotationArgumentsRenderingPolicy = AnnotationArgumentsRenderingPolicy.UNLESS_EMPTY
|
||||||
renderCompanionObjectName = true
|
renderCompanionObjectName = true
|
||||||
withDefinedIn = false
|
withDefinedIn = false
|
||||||
|
eachAnnotationOnNewLine = true
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun renderEnumSpecialFunction(element: KtClass, functionDescriptor: FunctionDescriptor, quickNavigation: Boolean): String {
|
private fun renderEnumSpecialFunction(element: KtClass, functionDescriptor: FunctionDescriptor, quickNavigation: Boolean): String {
|
||||||
|
|||||||
Reference in New Issue
Block a user