[FIR IDE] Move out-of-block modification trigger to FrontendApiTestConfiguratorService
This commit is contained in:
committed by
teamcityserver
parent
2894f87541
commit
b7044803d2
+4
@@ -57,4 +57,8 @@ object KtFe10FrontendApiTestConfiguratorService : FrontendApiTestConfiguratorSer
|
|||||||
val packageProviderFactory = compilerConfigurationProvider.getPackagePartProviderFactory(module)
|
val packageProviderFactory = compilerConfigurationProvider.getPackagePartProviderFactory(module)
|
||||||
JvmResolveUtil.analyze(project, files, compilerConfiguration, packageProviderFactory)
|
JvmResolveUtil.analyze(project, files, compilerConfiguration, packageProviderFactory)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun doOutOfBlockModification(file: KtFile) {
|
||||||
|
// TODO not supported yet
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-12
@@ -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) {}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.scopes
|
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.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.analysis.api.impl.base.test.scopes.AbstractMemberScopeByFqNameTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractKtFe10MemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(KtFe10FrontendApiTestConfiguratorService) {
|
abstract class AbstractKtFe10MemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(KtFe10FrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols
|
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.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.analysis.api.impl.base.test.symbols.AbstractSymbolByFqNameTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractKtFe10SymbolByFqNameTest : AbstractSymbolByFqNameTest(KtFe10FrontendApiTestConfiguratorService) {
|
abstract class AbstractKtFe10SymbolByFqNameTest : AbstractSymbolByFqNameTest(KtFe10FrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols
|
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.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.analysis.api.impl.base.test.symbols.AbstractSymbolByPsiTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractKtFe10SymbolByPsiTest : AbstractSymbolByPsiTest(KtFe10FrontendApiTestConfiguratorService) {
|
abstract class AbstractKtFe10SymbolByPsiTest : AbstractSymbolByPsiTest(KtFe10FrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.descriptors.test.symbols
|
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.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.analysis.api.impl.base.test.symbols.AbstractSymbolByReferenceTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractKtFe10SymbolByReferenceTest : AbstractSymbolByReferenceTest(KtFe10FrontendApiTestConfiguratorService) {
|
abstract class AbstractKtFe10SymbolByReferenceTest : AbstractSymbolByReferenceTest(KtFe10FrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
KtFe10TestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+4
@@ -45,4 +45,8 @@ object FirFrontendApiTestConfiguratorService : FrontendApiTestConfiguratorServic
|
|||||||
application.registerService(KotlinReferenceProviderContributor::class.java, KotlinFirReferenceContributor::class.java)
|
application.registerService(KotlinReferenceProviderContributor::class.java, KotlinFirReferenceContributor::class.java)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun doOutOfBlockModification(file: KtFile) {
|
||||||
|
FirLowLevelFrontendApiTestConfiguratorService.doOutOfBlockModification(file)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
-17
@@ -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()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.fir.scopes
|
package org.jetbrains.kotlin.analysis.api.fir.scopes
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService
|
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.analysis.api.impl.base.test.scopes.AbstractMemberScopeByFqNameTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractFirMemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(FirFrontendApiTestConfiguratorService) {
|
abstract class AbstractFirMemberScopeByFqNameTest : AbstractMemberScopeByFqNameTest(FirFrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService
|
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.analysis.api.impl.base.test.symbols.AbstractSymbolByFqNameTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractFirSymbolByFqNameTest : AbstractSymbolByFqNameTest(FirFrontendApiTestConfiguratorService) {
|
abstract class AbstractFirSymbolByFqNameTest : AbstractSymbolByFqNameTest(FirFrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService
|
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.analysis.api.impl.base.test.symbols.AbstractSymbolByPsiTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractFirSymbolByPsiTest : AbstractSymbolByPsiTest(FirFrontendApiTestConfiguratorService) {
|
abstract class AbstractFirSymbolByPsiTest : AbstractSymbolByPsiTest(FirFrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-7
@@ -6,12 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||||
|
|
||||||
import org.jetbrains.kotlin.analysis.api.fir.FirFrontendApiTestConfiguratorService
|
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.analysis.api.impl.base.test.symbols.AbstractSymbolByReferenceTest
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
|
||||||
|
|
||||||
abstract class AbstractFirSymbolByReferenceTest : AbstractSymbolByReferenceTest(FirFrontendApiTestConfiguratorService) {
|
abstract class AbstractFirSymbolByReferenceTest : AbstractSymbolByReferenceTest(FirFrontendApiTestConfiguratorService)
|
||||||
override fun doOutOfBlockModification(ktFile: KtFile) {
|
|
||||||
FirTestWithOutOfBlockModification.doOutOfBlockModification(ktFile)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+2
@@ -49,6 +49,8 @@ interface FrontendApiTestConfiguratorService {
|
|||||||
fun registerApplicationServices(application: MockApplication)
|
fun registerApplicationServices(application: MockApplication)
|
||||||
|
|
||||||
fun prepareTestFiles(files: List<KtFile>, module: TestModule, testServices: TestServices) {}
|
fun prepareTestFiles(files: List<KtFile>, module: TestModule, testServices: TestServices) {}
|
||||||
|
|
||||||
|
fun doOutOfBlockModification(file: KtFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class AbstractFrontendApiTest(val configurator: FrontendApiTestConfiguratorService) : TestWithDisposable() {
|
abstract class AbstractFrontendApiTest(val configurator: FrontendApiTestConfiguratorService) : TestWithDisposable() {
|
||||||
|
|||||||
+1
-4
@@ -29,8 +29,6 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi
|
|||||||
|
|
||||||
abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List<KtSymbol>
|
abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List<KtSymbol>
|
||||||
|
|
||||||
abstract fun doOutOfBlockModification(ktFile: KtFile)
|
|
||||||
|
|
||||||
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) {
|
||||||
super.doTestByFileStructure(ktFile, module, testServices)
|
super.doTestByFileStructure(ktFile, module, testServices)
|
||||||
|
|
||||||
@@ -46,8 +44,7 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi
|
|||||||
|
|
||||||
compareResults(pointersWithRendered, testServices)
|
compareResults(pointersWithRendered, testServices)
|
||||||
|
|
||||||
doOutOfBlockModification(ktFile)
|
configurator.doOutOfBlockModification(ktFile)
|
||||||
|
|
||||||
|
|
||||||
if (createPointers) {
|
if (createPointers) {
|
||||||
restoreSymbolsInOtherReadActionAndCompareResults(ktFile, pointersWithRendered, testServices)
|
restoreSymbolsInOtherReadActionAndCompareResults(ktFile, pointersWithRendered, testServices)
|
||||||
|
|||||||
+7
@@ -8,9 +8,11 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.test.base
|
|||||||
import com.intellij.mock.MockApplication
|
import com.intellij.mock.MockApplication
|
||||||
import com.intellij.mock.MockProject
|
import com.intellij.mock.MockProject
|
||||||
import com.intellij.openapi.Disposable
|
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.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.compiler.based.ModuleRegistrarPreAnalysisHandler
|
||||||
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.originalKtFile
|
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.psi.KtFile
|
||||||
import org.jetbrains.kotlin.test.bind
|
import org.jetbrains.kotlin.test.bind
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||||
@@ -34,4 +36,9 @@ object FirLowLevelFrontendApiTestConfiguratorService : FrontendApiTestConfigurat
|
|||||||
|
|
||||||
override fun registerProjectServices(project: MockProject) {}
|
override fun registerProjectServices(project: MockProject) {}
|
||||||
override fun registerApplicationServices(application: MockApplication) {}
|
override fun registerApplicationServices(application: MockApplication) {}
|
||||||
|
|
||||||
|
override fun doOutOfBlockModification(file: KtFile) {
|
||||||
|
ServiceManager.getService(file.project, KotlinModificationTrackerFactory::class.java)
|
||||||
|
.incrementModificationsCount()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user