FIR resolve: add test with Java static class constructor access from Kotlin
This test does not work because nested classifier scope works incorrectly for Java
This commit is contained in:
+19
@@ -0,0 +1,19 @@
|
|||||||
|
// FILE: AbstractClass.java
|
||||||
|
|
||||||
|
public abstract class AbstractClass {
|
||||||
|
public static class StaticClass {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: User.kt
|
||||||
|
|
||||||
|
class User : AbstractClass() {
|
||||||
|
fun foo() {
|
||||||
|
val sc = <!UNRESOLVED_REFERENCE!>StaticClass<!>()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun test() {
|
||||||
|
AbstractClass.<!UNRESOLVED_REFERENCE!>StaticClass<!>()
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
FILE: User.kt
|
||||||
|
public final class User : R|AbstractClass| {
|
||||||
|
public constructor(): R|User| {
|
||||||
|
super<R|AbstractClass|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public final fun foo(): R|kotlin/Unit| {
|
||||||
|
lval sc: <ERROR TYPE REF: Unresolved name: StaticClass> = <Unresolved name: StaticClass>#()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final fun test(): R|kotlin/Unit| {
|
||||||
|
Q|AbstractClass|.<Unresolved name: StaticClass>#()
|
||||||
|
}
|
||||||
Generated
+5
@@ -466,6 +466,11 @@ public class FirDiagnosticsWithStdlibTestGenerated extends AbstractFirDiagnostic
|
|||||||
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.kt");
|
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/RawType.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("StaticClassConstructorFromBaseClass.kt")
|
||||||
|
public void testStaticClassConstructorFromBaseClass() throws Exception {
|
||||||
|
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("StaticFromBaseClass.kt")
|
@TestMetadata("StaticFromBaseClass.kt")
|
||||||
public void testStaticFromBaseClass() throws Exception {
|
public void testStaticFromBaseClass() throws Exception {
|
||||||
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticFromBaseClass.kt");
|
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticFromBaseClass.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user