diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10FrontendApiTestConfiguratorService.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10FrontendApiTestConfiguratorService.kt index 8d457045f97..738315a0e7a 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10FrontendApiTestConfiguratorService.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10FrontendApiTestConfiguratorService.kt @@ -57,4 +57,8 @@ object KtFe10FrontendApiTestConfiguratorService : FrontendApiTestConfiguratorSer val packageProviderFactory = compilerConfigurationProvider.getPackagePartProviderFactory(module) JvmResolveUtil.analyze(project, files, compilerConfiguration, packageProviderFactory) } + + override fun doOutOfBlockModification(file: KtFile) { + // TODO not supported yet + } } \ No newline at end of file diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10TestWithOutOfBlockModification.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10TestWithOutOfBlockModification.kt deleted file mode 100644 index b2bfbebb46a..00000000000 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/KtFe10TestWithOutOfBlockModification.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2010-2021 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. - */ - -package org.jetbrains.kotlin.analysis.api.descriptors.test - -import org.jetbrains.kotlin.psi.KtFile - -object KtFe10TestWithOutOfBlockModification { - fun doOutOfBlockModification(@Suppress("UNUSED_PARAMETER") ktFile: KtFile) {} -} \ No newline at end of file diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/scopes/AbstractKtFe10MemberScopeByFqNameTest.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/scopes/AbstractKtFe10MemberScopeByFqNameTest.kt index c34dd6b3690..bccd3bcc88d 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/scopes/AbstractKtFe10MemberScopeByFqNameTest.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/scopes/AbstractKtFe10MemberScopeByFqNameTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.descriptors.test.scopes import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10TestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.scopes.AbstractMemberScopeByFqNameTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractKtFe10MemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(KtFe10FrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractKtFe10MemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(KtFe10FrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByFqNameTest.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByFqNameTest.kt index 492f54579cf..45dc851db97 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByFqNameTest.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByFqNameTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10TestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByFqNameTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractKtFe10SymbolByFqNameTest : AbstractSymbolByFqNameTest(KtFe10FrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractKtFe10SymbolByFqNameTest : AbstractSymbolByFqNameTest(KtFe10FrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByPsiTest.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByPsiTest.kt index ab57e39754c..4d06d7e48a1 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByPsiTest.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByPsiTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10TestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByPsiTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractKtFe10SymbolByPsiTest : AbstractSymbolByPsiTest(KtFe10FrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractKtFe10SymbolByPsiTest : AbstractSymbolByPsiTest(KtFe10FrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByReferenceTest.kt b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByReferenceTest.kt index 4bbd8a50614..144c28c2cf7 100644 --- a/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByReferenceTest.kt +++ b/analysis/analysis-api-fe10/tests/org/jetbrains/kotlin/analysis/api/descriptors/test/symbols/AbstractKtFe10SymbolByReferenceTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10FrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.descriptors.test.KtFe10TestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByReferenceTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractKtFe10SymbolByReferenceTest : AbstractSymbolByReferenceTest(KtFe10FrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractKtFe10SymbolByReferenceTest : AbstractSymbolByReferenceTest(KtFe10FrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirFrontendApiTestConfiguratorService.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirFrontendApiTestConfiguratorService.kt index f782818e384..16284553f7c 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirFrontendApiTestConfiguratorService.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirFrontendApiTestConfiguratorService.kt @@ -45,4 +45,8 @@ object FirFrontendApiTestConfiguratorService : FrontendApiTestConfiguratorServic application.registerService(KotlinReferenceProviderContributor::class.java, KotlinFirReferenceContributor::class.java) } } + + override fun doOutOfBlockModification(file: KtFile) { + FirLowLevelFrontendApiTestConfiguratorService.doOutOfBlockModification(file) + } } \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirTestWithOutOfBlockModification.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirTestWithOutOfBlockModification.kt deleted file mode 100644 index e6d06e59e0d..00000000000 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/FirTestWithOutOfBlockModification.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2010-2021 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. - */ - -package org.jetbrains.kotlin.analysis.api.fir - -import com.intellij.openapi.components.ServiceManager -import org.jetbrains.kotlin.analysis.providers.KotlinModificationTrackerFactory -import org.jetbrains.kotlin.psi.KtFile - -object FirTestWithOutOfBlockModification { - fun doOutOfBlockModification(ktFile: KtFile) { - ServiceManager.getService(ktFile.project, KotlinModificationTrackerFactory::class.java) - .incrementModificationsCount() - } -} \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/scopes/AbstractFirMemberScopeByFqNameTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/scopes/AbstractFirMemberScopeByFqNameTest.kt index 74cc457c2e0..962661a3870 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/scopes/AbstractFirMemberScopeByFqNameTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/scopes/AbstractFirMemberScopeByFqNameTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.fir.scopes import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.fir.FirTestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.scopes.AbstractMemberScopeByFqNameTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractFirMemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(FirFrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractFirMemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(FirFrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByFqNameTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByFqNameTest.kt index 716050b91da..3b5bf4439e6 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByFqNameTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByFqNameTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.fir.symbols import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.fir.FirTestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByFqNameTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractFirSymbolByFqNameTest : AbstractSymbolByFqNameTest(FirFrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractFirSymbolByFqNameTest : AbstractSymbolByFqNameTest(FirFrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByPsiTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByPsiTest.kt index 4b2e71f3714..3a2ac7b414c 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByPsiTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByPsiTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.fir.symbols import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.fir.FirTestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByPsiTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractFirSymbolByPsiTest : AbstractSymbolByPsiTest(FirFrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractFirSymbolByPsiTest : AbstractSymbolByPsiTest(FirFrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByReferenceTest.kt b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByReferenceTest.kt index 49cfbd1fcaf..96cfb3b8714 100644 --- a/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByReferenceTest.kt +++ b/analysis/analysis-api-fir/tests/org/jetbrains/kotlin/analysis/api/fir/symbols/AbstractFirSymbolByReferenceTest.kt @@ -6,12 +6,6 @@ package org.jetbrains.kotlin.analysis.api.fir.symbols import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService -import org.jetbrains.kotlin.analysis.api.fir.FirTestWithOutOfBlockModification import org.jetbrains.kotlin.analysis.api.impl.base.test.symbols.AbstractSymbolByReferenceTest -import org.jetbrains.kotlin.psi.KtFile -abstract class AbstractFirSymbolByReferenceTest : AbstractSymbolByReferenceTest(FirFrontendApiTestConfiguratorService) { - override fun doOutOfBlockModification(ktFile: KtFile) { - FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile) - } -} \ No newline at end of file +abstract class AbstractFirSymbolByReferenceTest : AbstractSymbolByReferenceTest(FirFrontendApiTestConfiguratorService) \ No newline at end of file diff --git a/analysis/analysis-api-impl-barebone/tests/org/jetbrains/kotlin/analysis/api/impl/barebone/test/AbstractFrontendApiTest.kt b/analysis/analysis-api-impl-barebone/tests/org/jetbrains/kotlin/analysis/api/impl/barebone/test/AbstractFrontendApiTest.kt index 2564a483776..963705e390b 100644 --- a/analysis/analysis-api-impl-barebone/tests/org/jetbrains/kotlin/analysis/api/impl/barebone/test/AbstractFrontendApiTest.kt +++ b/analysis/analysis-api-impl-barebone/tests/org/jetbrains/kotlin/analysis/api/impl/barebone/test/AbstractFrontendApiTest.kt @@ -49,6 +49,8 @@ interface FrontendApiTestConfiguratorService { fun registerApplicationServices(application: MockApplication) fun prepareTestFiles(files: List, module: TestModule, testServices: TestServices) {} + + fun doOutOfBlockModification(file: KtFile) } abstract class AbstractFrontendApiTest(val configurator: FrontendApiTestConfiguratorService) : TestWithDisposable() { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/symbols/AbstractSymbolTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/symbols/AbstractSymbolTest.kt index f9192703e4c..ed18bcfd9de 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/symbols/AbstractSymbolTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/symbols/AbstractSymbolTest.kt @@ -29,8 +29,6 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List - abstract fun doOutOfBlockModification(ktFile: KtFile) - override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { super.doTestByFileStructure(ktFile, module, testServices) @@ -46,8 +44,7 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi compareResults(pointersWithRendered, testServices) - doOutOfBlockModification(ktFile) - + configurator.doOutOfBlockModification(ktFile) if (createPointers) { restoreSymbolsInOtherReadActionAndCompareResults(ktFile, pointersWithRendered, testServices) diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/FirLowLevelFrontendApiTestConfiguratorService.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/FirLowLevelFrontendApiTestConfiguratorService.kt index d3dd0121034..c566bfe135a 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/FirLowLevelFrontendApiTestConfiguratorService.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/FirLowLevelFrontendApiTestConfiguratorService.kt @@ -8,9 +8,11 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.test.base import com.intellij.mock.MockApplication import com.intellij.mock.MockProject import com.intellij.openapi.Disposable +import com.intellij.openapi.components.ServiceManager import org.jetbrains.kotlin.analysis.api.impl.barebone.test.FrontendApiTestConfiguratorService import org.jetbrains.kotlin.analysis.low.level.api.fir.compiler.based.ModuleRegistrarPreAnalysisHandler import org.jetbrains.kotlin.analysis.low.level.api.fir.util.originalKtFile +import org.jetbrains.kotlin.analysis.providers.KotlinModificationTrackerFactory import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.bind import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder @@ -34,4 +36,9 @@ object FirLowLevelFrontendApiTestConfiguratorService : FrontendApiTestConfigurat override fun registerProjectServices(project: MockProject) {} override fun registerApplicationServices(application: MockApplication) {} + + override fun doOutOfBlockModification(file: KtFile) { + ServiceManager.getService(file.project, KotlinModificationTrackerFactory::class.java) + .incrementModificationsCount() + } } \ No newline at end of file