KT-5524 Support [platformName] annotation for class members

@platformName is now supported for final non-overriding class member functions
(including property accessors).
Front-end provides diagnostics for inapplicable annotation cases.
Code generation updated:
- ignore kotlin.platform.platformName annotation for Java class methods;
- bridges generation generates proper JVM declarations in case of methods renamed with @platformName.
@platformName-related tests added.

#KT-5524 Fixed
This commit is contained in:
dnpetrov
2015-06-04 15:48:10 +03:00
parent 0bf249d6ae
commit 50ea67ba13
16 changed files with 392 additions and 30 deletions

View File

@@ -0,0 +1,12 @@
import kotlin.platform.platformName;
public class FakePlatformName {
@platformName(name = "fake")
public String foo() {
return "foo";
}
public String fake() {
return "fake";
}
}