From f60842efe111358bf720828c38d5ac4d8ce3ecc7 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 19 Nov 2019 12:51:57 +0300 Subject: [PATCH] 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 --- .../StaticClassConstructorFromBaseClass.kt | 19 +++++++++++++++++++ .../StaticClassConstructorFromBaseClass.txt | 14 ++++++++++++++ ...FirDiagnosticsWithStdlibTestGenerated.java | 5 +++++ 3 files changed, 38 insertions(+) create mode 100644 compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.kt create mode 100644 compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.txt diff --git a/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.kt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.kt new file mode 100644 index 00000000000..5717eb2a8d7 --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.kt @@ -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 = StaticClass() + } +} + +fun test() { + AbstractClass.StaticClass() +} \ No newline at end of file diff --git a/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.txt b/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.txt new file mode 100644 index 00000000000..e5e2f285b3f --- /dev/null +++ b/compiler/fir/resolve/testData/resolve/stdlib/j+k/StaticClassConstructorFromBaseClass.txt @@ -0,0 +1,14 @@ +FILE: User.kt + public final class User : R|AbstractClass| { + public constructor(): R|User| { + super() + } + + public final fun foo(): R|kotlin/Unit| { + lval sc: = #() + } + + } + public final fun test(): R|kotlin/Unit| { + Q|AbstractClass|.#() + } diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java index 3174747a079..2dba4d49baa 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithStdlibTestGenerated.java @@ -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");