Files
kotlin-fork/compiler/testData/diagnostics/tests/protectedWithGenericsInDifferentPackage.kt
T
Ilya Kirillov 1bbcae5ed2 [FIR] fix resolve contract violation from scopes
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier

^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00

42 lines
911 B
Kotlin
Vendored

// FILE: foo/Super.java
package foo
public abstract class Super<T> {
protected abstract String getName();
protected abstract void setName(String s);
protected abstract String getName2();
protected abstract void setName2(String s);
protected abstract void doSomething();
protected abstract void doSomething2();
}
// FILE: bar/Sub.kt
package bar
abstract class Sub<T>: foo.Super<T>() {
abstract override fun getName(): String
abstract override fun setName(s: String)
abstract override fun doSomething()
}
// FILE: foo/test.kt
package foo
fun test(s: bar.Sub<String>) {
s.<!INVISIBLE_MEMBER!>name<!>
s.<!INVISIBLE_MEMBER!>name<!> = ""
s.name2
s.name2 = ""
s.<!INVISIBLE_MEMBER!>doSomething<!>()
s.doSomething2()
val s2: Super<String> = s
s2.name
s2.name = ""
s2.name2
s2.name2 = ""
s2.doSomething()
s2.doSomething2()
}