J2K: do not generate super call to abstract property
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
||||
package test;
|
||||
|
||||
import kotlinApi.*;
|
||||
|
||||
public class KotlinClassAbstractPropertyImpl extends KotlinClassAbstractProperty {
|
||||
private boolean myIsVisible;
|
||||
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return myIsVisible;
|
||||
}
|
||||
|
||||
private void test() {
|
||||
myIsVisible = true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package test
|
||||
|
||||
import kotlinApi.*
|
||||
|
||||
class KotlinClassAbstractPropertyImpl : KotlinClassAbstractProperty() {
|
||||
override var isVisible: Boolean = false
|
||||
private set
|
||||
|
||||
private fun test() {
|
||||
isVisible = true
|
||||
}
|
||||
}
|
||||
+6
-8
@@ -1,6 +1,6 @@
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
internal interface I {
|
||||
val isSomething1: Boolean
|
||||
|
||||
@@ -23,17 +23,15 @@ internal abstract class C : I {
|
||||
|
||||
override var isSomething4: Boolean
|
||||
get() = false
|
||||
set(value: Boolean) {
|
||||
super.isSomething4 = value
|
||||
}
|
||||
set
|
||||
|
||||
override var isSomething5: Boolean
|
||||
get() = super.isSomething5
|
||||
get
|
||||
set(value) {
|
||||
}
|
||||
|
||||
override var something6: Boolean
|
||||
get() = super.something6
|
||||
get
|
||||
set(value) {
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Abstract member cannot be accessed directly
|
||||
// ERROR: Property must be initialized
|
||||
// ERROR: Property must be initialized
|
||||
internal interface I {
|
||||
val something1: Int
|
||||
|
||||
@@ -56,12 +56,10 @@ internal abstract class C(override val something1: Int) : B(), I {
|
||||
|
||||
override var something4: Int
|
||||
get() = 0
|
||||
set(value: Int) {
|
||||
super.something4 = value
|
||||
}
|
||||
set
|
||||
|
||||
override var something5: Int
|
||||
get() = super.something5
|
||||
get
|
||||
set(value) {
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user