Generate accessor with delegation to super when it's necessary
This commit is contained in:
@@ -15,6 +15,12 @@ interface I {
|
||||
void setSomething6(int value);
|
||||
}
|
||||
|
||||
interface I1 extends I {
|
||||
void setSomething1(int value);
|
||||
|
||||
int getSomething6();
|
||||
}
|
||||
|
||||
class B {
|
||||
public String getFromB1() {
|
||||
return "";
|
||||
|
||||
+20
-4
@@ -1,7 +1,5 @@
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
internal interface I {
|
||||
val something1: Int
|
||||
|
||||
@@ -16,6 +14,12 @@ internal interface I {
|
||||
fun setSomething6(value: Int)
|
||||
}
|
||||
|
||||
internal interface I1 : I {
|
||||
fun setSomething1(value: Int)
|
||||
|
||||
val something6: Int
|
||||
}
|
||||
|
||||
internal open class B {
|
||||
open val fromB1: String
|
||||
get() {
|
||||
@@ -66,8 +70,14 @@ internal abstract class C(override val something1: Int) : B(), I {
|
||||
get() {
|
||||
return 0
|
||||
}
|
||||
set(value: Int) {
|
||||
super.something4 = value
|
||||
}
|
||||
|
||||
override var something5: Int
|
||||
get() {
|
||||
return super.something5
|
||||
}
|
||||
set(value: Int) {
|
||||
|
||||
}
|
||||
@@ -97,8 +107,14 @@ internal abstract class C(override val something1: Int) : B(), I {
|
||||
get() {
|
||||
return super.fromB3
|
||||
}
|
||||
set(value: String) {
|
||||
super.fromB3 = value
|
||||
}
|
||||
|
||||
override var fromB4: String
|
||||
get() {
|
||||
return super.fromB4
|
||||
}
|
||||
set(value: String) {
|
||||
super.fromB4 = value
|
||||
}
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
import kotlinApi.KotlinClassWithProperties
|
||||
import javaApi.JavaClassWithProperties
|
||||
import javaApi.JavaClassDerivedFromKotlinClassWithProperties
|
||||
@@ -21,8 +15,14 @@ internal open class A : KotlinClassWithProperties() {
|
||||
get() {
|
||||
return super.someVar2
|
||||
}
|
||||
set(value: String) {
|
||||
super.someVar2 = value
|
||||
}
|
||||
|
||||
override var someVar3: String
|
||||
get() {
|
||||
return super.someVar3
|
||||
}
|
||||
set(s: String) {
|
||||
super.someVar3 = s
|
||||
}
|
||||
@@ -31,6 +31,9 @@ internal open class A : KotlinClassWithProperties() {
|
||||
get() {
|
||||
return super.someVar4
|
||||
}
|
||||
set(value: String) {
|
||||
super.someVar4 = value
|
||||
}
|
||||
|
||||
override val someVal: String
|
||||
get() {
|
||||
@@ -85,6 +88,9 @@ internal class C : A() {
|
||||
get() {
|
||||
return super.someVar1
|
||||
}
|
||||
set(value: String) {
|
||||
super.someVar1 = value
|
||||
}
|
||||
}
|
||||
|
||||
internal class D : JavaClassDerivedFromKotlinClassWithProperties() {
|
||||
@@ -92,8 +98,14 @@ internal class D : JavaClassDerivedFromKotlinClassWithProperties() {
|
||||
get() {
|
||||
return "a"
|
||||
}
|
||||
set(value: String) {
|
||||
super.someVar1 = value
|
||||
}
|
||||
|
||||
override var someVar2: String
|
||||
get() {
|
||||
return super.someVar2
|
||||
}
|
||||
set(value: String) {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user