[LL FIR] AbstractLowLevelApiLastModuleFirstFileTest: replace moduleStructure with testModule
We can get the module structure from `TestServices`, so current file is more preferable ^KT-62892
This commit is contained in:
committed by
Space Team
parent
7efbcad121
commit
4cb75490db
+5
-4
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -13,17 +13,18 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.NO_RUNTIME
|
||||
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.moduleStructure
|
||||
|
||||
abstract class AbstractFirLazyDeclarationResolveTest : AbstractFirLazyDeclarationResolveOverAllPhasesTest() {
|
||||
override fun checkSession(firSession: LLFirResolveSession) {
|
||||
require(firSession.isSourceSession)
|
||||
}
|
||||
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
doLazyResolveTest(ktFile, testServices, renderAllFiles = true) { firResolveSession ->
|
||||
findFirDeclarationToResolve(ktFile, moduleStructure, testServices, firResolveSession)
|
||||
findFirDeclarationToResolve(ktFile, testServices.moduleStructure, testServices, firResolveSession)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+5
-3
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -31,9 +31,10 @@ import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
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
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
|
||||
/**
|
||||
* This test exists to:
|
||||
@@ -43,12 +44,13 @@ import org.jetbrains.kotlin.test.services.assertions
|
||||
* It collects all type annotations from the selected declaration and resolves them
|
||||
*/
|
||||
abstract class AbstractLazyTypeAnnotationsTest : AbstractFirLazyDeclarationResolveTestCase() {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
val builderBeforeAnnotationResolve = StringBuilder()
|
||||
val builderAfterAnnotationResolve = StringBuilder()
|
||||
|
||||
val allKtFiles = testServices.allKtFiles()
|
||||
resolveWithClearCaches(ktFile) { session ->
|
||||
val moduleStructure = testServices.moduleStructure
|
||||
val (declaration, resolver) = findFirDeclarationToResolve(ktFile, moduleStructure, testServices, session)
|
||||
resolver.invoke(FirResolvePhase.TYPES)
|
||||
|
||||
|
||||
+5
-3
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -16,9 +16,11 @@ import org.jetbrains.kotlin.platform.js.JsPlatforms
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.assertions
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
import org.jetbrains.kotlin.test.services.service
|
||||
|
||||
abstract class AbstractLibraryGetOrBuildFirTest : AbstractLowLevelApiLastModuleFirstFileTest() {
|
||||
@@ -34,8 +36,8 @@ abstract class AbstractLibraryGetOrBuildFirTest : AbstractLowLevelApiLastModuleF
|
||||
}
|
||||
}
|
||||
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
val declaration = getElementToSearch(ktFile, moduleStructure)
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
val declaration = getElementToSearch(ktFile, testServices.moduleStructure)
|
||||
|
||||
val module = ProjectStructureProvider.getModule(ktFile.project, ktFile, contextualModule = null)
|
||||
val resolveSession = LLFirResolveSessionService.getInstance(ktFile.project).getFirResolveSessionForBinaryModule(module)
|
||||
|
||||
+5
-3
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -22,8 +22,9 @@ import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.singleValue
|
||||
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.moduleStructure
|
||||
|
||||
abstract class AbstractStdLibSourcesLazyDeclarationResolveTest : AbstractFirLazyDeclarationResolveOverAllPhasesTest() {
|
||||
override fun checkSession(firSession: LLFirResolveSession) {
|
||||
@@ -37,8 +38,9 @@ abstract class AbstractStdLibSourcesLazyDeclarationResolveTest : AbstractFirLazy
|
||||
|
||||
override val configurator get() = AnalysisApiFirStdlibSourceTestConfigurator
|
||||
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
val project = ktFile.project
|
||||
val moduleStructure = testServices.moduleStructure
|
||||
val classId = moduleStructure.allDirectives.singleValue(Directives.CLASS_ID).let(ClassId::fromString)
|
||||
val module = ProjectStructureProvider.getModule(project, ktFile, contextualModule = null)
|
||||
val resolveSession = LLFirResolveSessionService.getInstance(project).getFirResolveSession(module)
|
||||
|
||||
+3
-3
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.lazyResolveToPhase
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
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
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.test.services.assertions
|
||||
* This test exists to check lazy resolution for fake overrides
|
||||
*/
|
||||
abstract class AbstractLazyDeclarationResolveScopeBasedTest : AbstractLowLevelApiLastModuleFirstFileTest() {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
override fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices) {
|
||||
val classOrObject = testServices.expressionMarkerProvider.getElementOfTypeAtCaret<KtClassOrObject>(ktFile)
|
||||
resolveWithClearCaches(classOrObject) { session ->
|
||||
val classSymbol = classOrObject.resolveToFirSymbolOfType<FirClassSymbol<*>>(session)
|
||||
|
||||
+4
-3
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.test.base
|
||||
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest
|
||||
import org.jetbrains.kotlin.analysis.test.framework.project.structure.ktModuleProvider
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
@@ -15,8 +16,8 @@ abstract class AbstractLowLevelApiLastModuleFirstFileTest : AbstractAnalysisApiB
|
||||
final override fun doTestByModuleStructure(moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
val lastModule = moduleStructure.modules.last()
|
||||
val firstKtFileFile = testServices.ktModuleProvider.getModuleFiles(lastModule).firstNotNullOf { it as? KtFile }
|
||||
doTestByFileStructure(firstKtFileFile, moduleStructure, testServices)
|
||||
doTestByFileStructure(firstKtFileFile, lastModule, testServices)
|
||||
}
|
||||
|
||||
abstract fun doTestByFileStructure(ktFile: KtFile, moduleStructure: TestModuleStructure, testServices: TestServices)
|
||||
abstract fun doTestByFileStructure(ktFile: KtFile, testModule: TestModule, testServices: TestServices)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user