[FIR] Fix exception in scopes caused by property and extension property with the same name in KJK hierarchy
#KT-65373 Fixed
This commit is contained in:
committed by
Space Team
parent
9688865953
commit
d937fb4350
+70
@@ -0,0 +1,70 @@
|
||||
// ISSUE: KT-65373, KT-65464
|
||||
|
||||
// FILE: J.java
|
||||
public class J extends D {}
|
||||
|
||||
// FILE: JOverridesRegular.java
|
||||
public class JOverridesRegular extends D {
|
||||
@Override
|
||||
public int getA() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: JOverridesExtension.java
|
||||
public class JOverridesExtension extends D {
|
||||
@Override
|
||||
public int getA(String $this) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: JOVerridesBoth.java
|
||||
public class JOVerridesBoth extends D {
|
||||
@Override
|
||||
public int getA() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getA(String $this) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
open class D {
|
||||
open val a: Int
|
||||
get() = 2
|
||||
|
||||
open val String.a: Int
|
||||
get() = 1
|
||||
}
|
||||
|
||||
class F : J() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
|
||||
class F2 : JOverridesRegular() {
|
||||
fun test() {
|
||||
a
|
||||
"".<!UNRESOLVED_REFERENCE!>a<!>
|
||||
}
|
||||
}
|
||||
|
||||
class F3 : JOverridesExtension() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
|
||||
class F4 : JOVerridesBoth() {
|
||||
fun test() {
|
||||
a
|
||||
"".<!UNRESOLVED_REFERENCE!>a<!>
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
// ISSUE: KT-65373, KT-65464
|
||||
|
||||
// FILE: J.java
|
||||
public class J extends D {}
|
||||
|
||||
// FILE: JOverridesRegular.java
|
||||
public class JOverridesRegular extends D {
|
||||
@Override
|
||||
public int getA() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: JOverridesExtension.java
|
||||
public class JOverridesExtension extends D {
|
||||
@Override
|
||||
public int getA(String $this) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: JOVerridesBoth.java
|
||||
public class JOVerridesBoth extends D {
|
||||
@Override
|
||||
public int getA() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getA(String $this) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: 1.kt
|
||||
open class D {
|
||||
open val a: Int
|
||||
get() = 2
|
||||
|
||||
open val String.a: Int
|
||||
get() = 1
|
||||
}
|
||||
|
||||
class F : J() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
|
||||
class F2 : JOverridesRegular() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
|
||||
class <!CONFLICTING_INHERITED_JVM_DECLARATIONS!>F3<!> : JOverridesExtension() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
|
||||
class <!CONFLICTING_INHERITED_JVM_DECLARATIONS!>F4<!> : JOVerridesBoth() {
|
||||
fun test() {
|
||||
a
|
||||
"".a
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user