Iniital implementation of synthetic extensions for SAM-adapter functions (non-static only)

This commit is contained in:
Valentin Kipyatkov
2015-07-28 17:13:09 +03:00
parent 8b3870cc33
commit 729085ec9a
106 changed files with 624 additions and 364 deletions
@@ -0,0 +1,29 @@
// FILE: KotlinFile.kt
abstract class KotlinClass : JavaInterface3 {
override fun getSomething(): String = ""
}
fun foo(k: KotlinClass) {
useString(k.getSomething())
useString(k.something)
if (<!SENSELESS_COMPARISON!>k.something == null<!>) return
k.setSomething("")
k.something = ""
}
fun useString(<!UNUSED_PARAMETER!>i<!>: String) {}
// FILE: JavaInterface1.java
public interface JavaInterface1 {
String getSomething();
}
// FILE: JavaInterface2.java
public interface JavaInterface2 {
String getSomething();
void setSomething(String value);
}
// FILE: JavaInterface3.java
public interface JavaInterface3 extends JavaInterface1, JavaInterface2 {}