[SLC] fix annotation retention mapping
^KT-61377 Fixed
This commit is contained in:
committed by
Space Team
parent
566232fd0d
commit
695f6f0062
+7
-1
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.name.CallableId
|
|||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
import org.jetbrains.kotlin.name.StandardClassIds
|
import org.jetbrains.kotlin.name.StandardClassIds
|
||||||
import java.lang.annotation.ElementType
|
import java.lang.annotation.ElementType
|
||||||
|
import java.lang.annotation.RetentionPolicy
|
||||||
|
|
||||||
internal object AbstractClassAdditionalAnnotationsProvider : AdditionalAnnotationsProvider {
|
internal object AbstractClassAdditionalAnnotationsProvider : AdditionalAnnotationsProvider {
|
||||||
override fun addAllAnnotations(
|
override fun addAllAnnotations(
|
||||||
@@ -143,13 +144,18 @@ private fun javaRetentionArguments(kotlinRetentionName: String?): List<KtNamedAn
|
|||||||
expression = KtEnumEntryAnnotationValue(
|
expression = KtEnumEntryAnnotationValue(
|
||||||
callableId = CallableId(
|
callableId = CallableId(
|
||||||
StandardClassIds.Annotations.Java.RetentionPolicy,
|
StandardClassIds.Annotations.Java.RetentionPolicy,
|
||||||
Name.identifier(kotlinRetentionName ?: AnnotationRetention.RUNTIME.name),
|
Name.identifier(retentionMapping(kotlinRetentionName ?: AnnotationRetention.RUNTIME.name)),
|
||||||
),
|
),
|
||||||
sourcePsi = null,
|
sourcePsi = null,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private fun retentionMapping(name: String): String = when (name) {
|
||||||
|
AnnotationRetention.BINARY.name -> RetentionPolicy.CLASS.name
|
||||||
|
else -> name
|
||||||
|
}
|
||||||
|
|
||||||
private fun GranularAnnotationsBox.tryConvertToRepeatableJavaAnnotation(
|
private fun GranularAnnotationsBox.tryConvertToRepeatableJavaAnnotation(
|
||||||
qualifiedName: String,
|
qualifiedName: String,
|
||||||
owner: PsiModifierList,
|
owner: PsiModifierList,
|
||||||
|
|||||||
Vendored
-4
@@ -1,4 +0,0 @@
|
|||||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.CLASS)
|
|
||||||
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.BINARY)
|
|
||||||
public abstract @interface Anno /* one.Anno*/ {
|
|
||||||
}
|
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.BINARY)
|
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.CLASS)
|
||||||
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.BINARY)
|
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.BINARY)
|
||||||
public abstract @interface Anno /* one.Anno*/ {
|
public abstract @interface Anno /* one.Anno*/ {
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
-4
@@ -1,4 +0,0 @@
|
|||||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.CLASS)
|
|
||||||
@kotlin.annotation.Retention(value = kotlin.annotation.AnnotationRetention.BINARY)
|
|
||||||
public abstract @interface Anno /* one.Anno*/ {
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user