Add 'DeprecationLevel' parameter to 'Deprecated'

This commit is contained in:
Yan Zhulanow
2015-10-05 18:04:38 +03:00
parent fd3c28c950
commit d90585624f
31 changed files with 165 additions and 128 deletions
@@ -52,6 +52,7 @@ public final class JvmAnnotationNames {
public static final String DATA_FIELD_NAME = "data";
public static final String STRINGS_FIELD_NAME = "strings";
public static final Name DEFAULT_ANNOTATION_MEMBER_NAME = Name.identifier("value");
public static final Name DEPRECATED_ANNOTATION_MESSAGE = Name.identifier("message");
public static final Name TARGET_ANNOTATION_MEMBER_NAME = Name.identifier("allowedTargets");
public static final FqName TARGET_ANNOTATION = new FqName("java.lang.annotation.Target");
@@ -113,7 +113,7 @@ class JavaDeprecatedAnnotationDescriptor(
private val valueArguments = c.storageManager.createLazyValue {
val parameterDescriptor = valueParameters.firstOrNull {
it.name == JvmAnnotationNames.DEFAULT_ANNOTATION_MEMBER_NAME
it.name == JvmAnnotationNames.DEPRECATED_ANNOTATION_MESSAGE
}
parameterDescriptor?.let { mapOf(it to ConstantValueFactory(c.module.builtIns).createConstantValue("Deprecated in Java")) } ?: emptyMap()
}