Override/Implement Members: Copy @Experimental-annotated annotations
#KT-22922 Fixed
This commit is contained in:
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -190,6 +191,7 @@ interface DescriptorRendererOptions {
|
||||
var textFormat: RenderingFormat
|
||||
var excludedAnnotationClasses: Set<FqName>
|
||||
var excludedTypeAnnotationClasses: Set<FqName>
|
||||
var annotationFilter: ((AnnotationDescriptor) -> Boolean)?
|
||||
|
||||
var annotationArgumentsRenderingPolicy: AnnotationArgumentsRenderingPolicy
|
||||
val includeAnnotationArguments: Boolean get() = annotationArgumentsRenderingPolicy.includeAnnotationArguments
|
||||
|
||||
@@ -396,8 +396,9 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
val excluded = if (annotated is KotlinType) excludedTypeAnnotationClasses else excludedAnnotationClasses
|
||||
|
||||
val annotationFilter = annotationFilter
|
||||
for ((annotation, target) in annotated.annotations.getAllAnnotations()) {
|
||||
if (annotation.fqName !in excluded) {
|
||||
if (annotation.fqName !in excluded && (annotationFilter == null || annotationFilter(annotation))) {
|
||||
append(renderAnnotation(annotation, target)).append(" ")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
package org.jetbrains.kotlin.renderer
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationWithTarget
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import java.lang.IllegalStateException
|
||||
@@ -98,6 +100,8 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
|
||||
override var excludedTypeAnnotationClasses by property(ExcludedTypeAnnotations.internalAnnotationsForResolve)
|
||||
|
||||
override var annotationFilter: ((AnnotationDescriptor) -> Boolean)? by property(null)
|
||||
|
||||
override var annotationArgumentsRenderingPolicy by property(AnnotationArgumentsRenderingPolicy.NO_ARGUMENTS)
|
||||
|
||||
override var alwaysRenderModifiers by property(false)
|
||||
|
||||
Reference in New Issue
Block a user