Synthetic extensions to take all annotations from original declarations

#KT-9387 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-10-19 19:25:13 +03:00
parent a0ccd36377
commit 8e6b0a26bb
7 changed files with 124 additions and 4 deletions
@@ -0,0 +1,48 @@
// FILE: KotlinFile.kt
fun foo(javaClass: JavaClass) {
javaClass.<!DEPRECATION!>something1<!>
javaClass.<!DEPRECATION!>something2<!>
javaClass.something2 = 1
javaClass.something2++
javaClass.something3
javaClass.<!DEPRECATION!>something3<!> = 1
javaClass.<!DEPRECATION!>something3<!>++
javaClass.<!DEPRECATION!>something4<!>
javaClass.<!DEPRECATION!>something4<!> = 1
javaClass.<!DEPRECATION!>something4<!>++
javaClass.<!DEPRECATION!>something5<!>
javaClass.<!DEPRECATION!>something5<!> = 1
javaClass.<!DEPRECATION!>something5<!>++
}
// FILE: JavaClass.java
public class JavaClass {
@Deprecated
public int getSomething1() { return 1; }
@Deprecated
public int getSomething2() { return 1; }
public void setSomething2(int value) { }
public int getSomething3() { return 1; }
@Deprecated
public void setSomething3(int value) { }
@Deprecated
public int getSomething4() { return 1; }
@Deprecated
public void setSomething4(int value) { }
/**
* @deprecated Bla-bla-bla
*/
public int getSomething5() { return 1; }
/**
* @deprecated Ha-ha-ha
*/
public void setSomething5(int value) { }
}
@@ -0,0 +1,19 @@
package
public fun foo(/*0*/ javaClass: JavaClass): kotlin.Unit
public open class JavaClass {
public constructor JavaClass()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
@kotlin.Deprecated(message = "Deprecated in Java") public open fun getSomething1(): kotlin.Int
@kotlin.Deprecated(message = "Deprecated in Java") public open fun getSomething2(): kotlin.Int
public open fun getSomething3(): kotlin.Int
@kotlin.Deprecated(message = "Deprecated in Java") public open fun getSomething4(): kotlin.Int
@kotlin.Deprecated(message = "Deprecated in Java") public open fun getSomething5(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open fun setSomething2(/*0*/ value: kotlin.Int): kotlin.Unit
@kotlin.Deprecated(message = "Deprecated in Java") public open fun setSomething3(/*0*/ value: kotlin.Int): kotlin.Unit
@kotlin.Deprecated(message = "Deprecated in Java") public open fun setSomething4(/*0*/ value: kotlin.Int): kotlin.Unit
@kotlin.Deprecated(message = "Deprecated in Java") public open fun setSomething5(/*0*/ value: kotlin.Int): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}