Fix for KT-15027 J2K: Annotations are set on functions, but not on property accessors

#KT-15027 fixed
This commit is contained in:
Simon Ogorodnik
2016-12-13 19:34:57 +03:00
committed by Simon Ogorodnik
parent 5071baf970
commit 73ea0e8460
13 changed files with 162 additions and 22 deletions
@@ -0,0 +1,16 @@
@interface A {
}
@interface B {
}
public class U {
@B
public int i;
public U(@A int i) {
this.i = i;
}
}
@@ -0,0 +1,6 @@
internal annotation class A
internal annotation class B
class U(@param:A @B
var i: Int)
@@ -0,0 +1,18 @@
@interface An {
String value();
}
public class Test {
private int id;
@An(value = "get")
public int getId() {
return id;
}
@An(value = "set")
public void setId(int id) {
this.id = id
}
}
@@ -0,0 +1,8 @@
internal annotation class An(val value: String)
class Test {
@get:An(value = "get")
@set:An(value = "set")
var id: Int = 0
}
@@ -0,0 +1,11 @@
public class WithModifiersOnAccessors {
private synchronized void methSync() {}
protected strictfp void methStrict() {}
private int sync = 0;
public synchronized int getSync() { return sync; }
public synchronized void setSync(int sync) { this.sync = sync; }
public double strict = 0.0;
public strictfp double getStrict() { return strict; }
}
@@ -0,0 +1,11 @@
class WithModifiersOnAccessors {
@Synchronized private fun methSync() {
}
@Strictfp protected fun methStrict() {
}
@get:Synchronized @set:Synchronized var sync = 0
@get:Strictfp var strict = 0.0
}