Support loading methods from Java as common properties overrides

This commit is contained in:
Denis Zharkov
2015-10-08 14:19:01 +03:00
parent 396f38e9b3
commit ad68378836
25 changed files with 628 additions and 90 deletions
@@ -0,0 +1,24 @@
public class J extends A {
public boolean okField = false;
public int getValProp() {
return 123;
}
public int getVarProp() {
return 456;
}
public void setVarProp(int x) {
okField = true;
}
public int isProp() {
return 789;
}
public void setProp(int x) {
okField = true;
}
}
@@ -0,0 +1,37 @@
open class A {
open val valProp: Int = -1
open var varProp: Int = -1
open var isProp: Int = -1
}
fun box(): String {
val j = J()
val a: A = j
if (j.valProp != 123) return "fail 1"
if (a.valProp != 123) return "fail 2"
j.varProp = -1
if (!j.okField) return "fail 3"
j.okField = false
a.varProp = -1
if (!j.okField) return "fail 4"
j.okField = false
if (j.varProp != 456) return "fail 5"
if (a.varProp != 456) return "fail 6"
j.isProp = -1
if (!j.okField) return "fail 7"
j.okField = false
a.isProp = -1
if (!j.okField) return "fail 8"
j.okField = false
if (j.isProp != 789) return "fail 9"
if (a.isProp != 789) return "fail 10"
return "OK"
}