From 65b3ec6dfd0a0120ecc7b55e2c7c55a221d537e0 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 16 Jun 2014 18:30:48 +0400 Subject: [PATCH] Java to Kotlin: Deprecated annotation conversion --- j2k/src/org/jetbrains/jet/j2k/Converter.kt | 5 +++++ j2k/tests/testData/ast/annotations/annotationUsages.kt | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/j2k/src/org/jetbrains/jet/j2k/Converter.kt b/j2k/src/org/jetbrains/jet/j2k/Converter.kt index dc622babb73..3fe00cf8837 100644 --- a/j2k/src/org/jetbrains/jet/j2k/Converter.kt +++ b/j2k/src/org/jetbrains/jet/j2k/Converter.kt @@ -634,6 +634,11 @@ public class Converter private(val project: Project, val settings: ConverterSett } public fun convertAnnotation(annotation: PsiAnnotation, brackets: Boolean): Annotation? { + val qualifiedName = annotation.getQualifiedName() + if (qualifiedName == CommonClassNames.JAVA_LANG_DEPRECATED && annotation.getParameterList().getAttributes().isEmpty()) { + return Annotation(Identifier("deprecated"), listOf(null to LiteralExpression("\"\"")), brackets) //TODO: insert comment + } + val name = Identifier((annotation.getNameReferenceElement() ?: return null).getText()!!) val annotationClass = annotation.getNameReferenceElement()?.resolve() as? PsiClass val lastMethod = annotationClass?.getMethods()?.lastOrNull() diff --git a/j2k/tests/testData/ast/annotations/annotationUsages.kt b/j2k/tests/testData/ast/annotations/annotationUsages.kt index 8bad5c3e6bf..9ef317ef824 100644 --- a/j2k/tests/testData/ast/annotations/annotationUsages.kt +++ b/j2k/tests/testData/ast/annotations/annotationUsages.kt @@ -7,7 +7,7 @@ Anon4("x", "y") Anon5(1) Anon6(array("x", "y")) class C() { - Anon5(1) Deprecated private var field1: Int = 0 + Anon5(1) deprecated("") private var field1: Int = 0 Anon5(1) private var field2: Int = 0 @@ -18,8 +18,8 @@ class C() { var field4: Int = 0 Anon6(array()) - fun foo(Deprecated p1: Int, Deprecated Anon5(2) p2: Char) { - [Deprecated] [Anon5(3)] val c = 'a' + fun foo(deprecated("") p1: Int, deprecated("") Anon5(2) p2: Char) { + [deprecated("")] [Anon5(3)] val c = 'a' } Anon5(1) fun bar() {