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:
Mikhail Glukhikh
2019-11-19 12:51:57 +03:00
parent 19aff81b55
commit f60842efe1
3 changed files with 38 additions and 0 deletions
@@ -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<!>()
}
@@ -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>#()
}
@@ -466,6 +466,11 @@ public class FirDiagnosticsWithStdlibTestGenerated extends AbstractFirDiagnostic
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")
public void testStaticFromBaseClass() throws Exception {
runTest("compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticFromBaseClass.kt");