[LL FIR] add tests on fir for full qualified name for nested classes
For some reason, outer Java class is treated as a package ^KT-62892
This commit is contained in:
committed by
Space Team
parent
4cb75490db
commit
a39688ba10
+15
@@ -0,0 +1,15 @@
|
||||
// SKIP_WHEN_OUT_OF_CONTENT_ROOT
|
||||
// MODULE: dep
|
||||
// FILE: issue/pack/RowIcon.java
|
||||
package issue.pack;
|
||||
|
||||
public class RowIcon {
|
||||
public static class RClass {}
|
||||
}
|
||||
|
||||
// MODULE: main(dep)
|
||||
// FILE: usage.kt
|
||||
package usage
|
||||
|
||||
fun testJavaNestedClass(alignment: <expr>issue.pack.RowIcon.RClass</expr>) {
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
KT element: KtTypeReference
|
||||
FIR element: FirResolvedTypeRefImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
R|issue/pack/RowIcon/RClass|
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] usage.kt
|
||||
package usage
|
||||
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun testJavaNestedClass([ResolvedTo(ANNOTATION_ARGUMENTS)] alignment: R|issue/pack/RowIcon/RClass|): R|kotlin/Unit| {
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// SKIP_WHEN_OUT_OF_CONTENT_ROOT
|
||||
// MODULE: dep
|
||||
// FILE: issue/pack/RowIcon.kt
|
||||
package issue.pack;
|
||||
|
||||
class RowIcon {
|
||||
class RClass
|
||||
}
|
||||
|
||||
// MODULE: main(dep)
|
||||
// FILE: usage.kt
|
||||
package usage
|
||||
|
||||
fun testJavaNestedClass(alignment: <expr>issue.pack.RowIcon.RClass</expr>) {
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
KT element: KtTypeReference
|
||||
FIR element: FirResolvedTypeRefImpl
|
||||
FIR source kind: KtRealSourceElementKind
|
||||
|
||||
FIR element rendered:
|
||||
R|issue/pack/RowIcon.RClass|
|
||||
|
||||
FIR FILE:
|
||||
FILE: [ResolvedTo(IMPORTS)] usage.kt
|
||||
package usage
|
||||
|
||||
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun testJavaNestedClass([ResolvedTo(ANNOTATION_ARGUMENTS)] alignment: R|issue/pack/RowIcon.RClass|): R|kotlin/Unit| {
|
||||
}
|
||||
+6
-7
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir
|
||||
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFir
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiSingleFileTest
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.base.AbstractLowLevelApiLastModuleFirstFileTest
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirOutOfContentRootTestConfigurator
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirScriptTestConfigurator
|
||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator
|
||||
@@ -18,14 +18,13 @@ import org.jetbrains.kotlin.fir.declarations.FirImport
|
||||
import org.jetbrains.kotlin.fir.renderer.*
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.assertions
|
||||
|
||||
abstract class AbstractGetOrBuildFirTest : AbstractLowLevelApiSingleFileTest() {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
val module = moduleStructure.modules.single()
|
||||
val selectedElement = testServices.expressionMarkerProvider.getSelectedElementOfTypeByDirective(ktFile, module) as KtElement
|
||||
abstract class AbstractGetOrBuildFirTest : AbstractLowLevelApiLastModuleFirstFileTest() {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
val selectedElement = testServices.expressionMarkerProvider.getSelectedElementOfTypeByDirective(ktFile, testModule) as KtElement
|
||||
|
||||
val actual = resolveWithClearCaches(ktFile) { session ->
|
||||
renderActualFir(
|
||||
|
||||
+12
@@ -1099,6 +1099,18 @@ public class OutOfContentRootGetOrBuildFirTestGenerated extends AbstractOutOfCon
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/invalidTypeArgumentsCountLastArgument.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassFromJava.kt")
|
||||
public void testNestedClassFromJava() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/nestedClassFromJava.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassFromKotlin.kt")
|
||||
public void testNestedClassFromKotlin() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/nestedClassFromKotlin.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassType.kt")
|
||||
public void testNestedClassType() throws Exception {
|
||||
|
||||
+12
@@ -1099,6 +1099,18 @@ public class SourceGetOrBuildFirTestGenerated extends AbstractSourceGetOrBuildFi
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/invalidTypeArgumentsCountLastArgument.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassFromJava.kt")
|
||||
public void testNestedClassFromJava() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/nestedClassFromJava.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassFromKotlin.kt")
|
||||
public void testNestedClassFromKotlin() throws Exception {
|
||||
runTest("analysis/low-level-api-fir/testData/getOrBuildFir/types/nestedClassFromKotlin.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("nestedClassType.kt")
|
||||
public void testNestedClassType() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user