From 22cbcfb3c442ec4ef2fb4df6be0cc0490f2b83e5 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 19 Nov 2021 14:43:21 +0100 Subject: [PATCH] Analysis API: do not require tests to call super.doTestByFileStructure --- .../api/impl/barebone/test/AbstractFrontendApiTest.kt | 2 +- .../api/impl/base/test/AbstractReferenceResolveTest.kt | 2 -- .../AbstractCompileTimeConstantEvaluatorTest.kt | 2 -- .../expressionInfoProvider/AbstractReturnTargetSymbolTest.kt | 1 - .../expressionInfoProvider/AbstractWhenMissingCasesTest.kt | 2 -- .../AbstractExpectedExpressionTypeTest.kt | 2 -- .../expressionTypeProvider/AbstractHLExpressionTypeTest.kt | 2 -- .../smartCastProvider/AbstractHLSmartCastInfoTest.kt | 2 -- .../AbstractOverriddenDeclarationProviderTest.kt | 2 -- .../symbolDeclarationRenderer/AbstractRendererTest.kt | 2 -- .../typeInfoProvider/AbstractFunctionClassKindTest.kt | 2 -- .../components/typeProvider/AbstractHasCommonSubtypeTest.kt | 2 -- .../api/impl/base/test/fir/AbstractResolveCallTest.kt | 2 -- .../api/impl/base/test/scopes/AbstractFileScopeTest.kt | 2 -- .../analysis/api/impl/base/test/symbols/AbstractSymbolTest.kt | 2 -- .../base/test/test/framework/AbstractHLApiSingleFileTest.kt | 4 +--- .../base/test/test/framework/AbstractHLApiSingleModuleTest.kt | 4 +--- 17 files changed, 3 insertions(+), 34 deletions(-) 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 a21443d858f..af23e4a5837 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 @@ -165,7 +165,7 @@ abstract class AbstractFrontendApiTest(val configurator: FrontendApiTestConfigur registerApplicationServices() val ktFiles = moduleInfo.testFilesToKtFiles.filterKeys { testFile -> !testFile.isAdditional }.values.toList() - + configurator.prepareTestFiles(ktFiles, singleModule, testServices) doTestByFileStructure(ktFiles, moduleStructure, testServices) if (!enableTestInDependedMode || ktFiles.any { InTextDirectivesUtils.isDirectiveDefined(it.text, DISABLE_DEPENDED_MODE_DIRECTIVE) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/AbstractReferenceResolveTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/AbstractReferenceResolveTest.kt index cf24c0757cb..b0c99dfb17c 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/AbstractReferenceResolveTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/AbstractReferenceResolveTest.kt @@ -40,8 +40,6 @@ abstract class AbstractReferenceResolveTest(configurator: FrontendApiTestConfigu } override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFiles, module, testServices) - val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.first { it.name == "main.kt" } val caretPosition = testServices.expressionMarkerProvider.getCaretPosition(mainKtFile) val ktReferences = findReferencesAtCaret(mainKtFile, caretPosition) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/compileTimeConstantProvider/AbstractCompileTimeConstantEvaluatorTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/compileTimeConstantProvider/AbstractCompileTimeConstantEvaluatorTest.kt index 157f9cdfc06..18ad43f5072 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/compileTimeConstantProvider/AbstractCompileTimeConstantEvaluatorTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/compileTimeConstantProvider/AbstractCompileTimeConstantEvaluatorTest.kt @@ -20,8 +20,6 @@ abstract class AbstractCompileTimeConstantEvaluatorTest( configurator: FrontendApiTestConfiguratorService ) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val element = testServices.expressionMarkerProvider.getSelectedElement(ktFile) val expression = when (element) { is KtExpression -> element diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractReturnTargetSymbolTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractReturnTargetSymbolTest.kt index ecffcd7dacf..9f45bd253d7 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractReturnTargetSymbolTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractReturnTargetSymbolTest.kt @@ -23,7 +23,6 @@ abstract class AbstractReturnTargetSymbolTest( ) : AbstractHLApiSingleFileTest(configurator) { val commentRegex = Regex("""/\* (.+@\(.+\)|null) \*/""") override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) val original = ktFile.text val actual = buildString { ktFile.accept(object : KtTreeVisitorVoid() { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractWhenMissingCasesTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractWhenMissingCasesTest.kt index 92f58bf6d82..66b38142f28 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractWhenMissingCasesTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionInfoProvider/AbstractWhenMissingCasesTest.kt @@ -18,8 +18,6 @@ abstract class AbstractWhenMissingCasesTest( configurator: FrontendApiTestConfiguratorService ) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val whenExpression = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) val actual = executeOnPooledThreadInReadAction { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractExpectedExpressionTypeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractExpectedExpressionTypeTest.kt index 747026c18a9..22b1b222da6 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractExpectedExpressionTypeTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractExpectedExpressionTypeTest.kt @@ -19,8 +19,6 @@ abstract class AbstractExpectedExpressionTypeTest( configurator: FrontendApiTestConfiguratorService ) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression val actualExpectedTypeText: String? = executeOnPooledThreadInReadAction { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractHLExpressionTypeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractHLExpressionTypeTest.kt index d0da9562b49..c1beefbb810 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractHLExpressionTypeTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/expressionTypeProvider/AbstractHLExpressionTypeTest.kt @@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions abstract class AbstractHLExpressionTypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression val type = executeOnPooledThreadInReadAction { analyseForTest(expression) { expression.getKtType()?.render() } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/smartCastProvider/AbstractHLSmartCastInfoTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/smartCastProvider/AbstractHLSmartCastInfoTest.kt index 83c3cfd2159..1b8c7b0e022 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/smartCastProvider/AbstractHLSmartCastInfoTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/smartCastProvider/AbstractHLSmartCastInfoTest.kt @@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions abstract class AbstractHLSmartCastInfoTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) as KtExpression val actual = executeOnPooledThreadInReadAction { analyseForTest(expression) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt index 96f13a7811a..fb289c48b36 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt @@ -24,8 +24,6 @@ abstract class AbstractOverriddenDeclarationProviderTest( configurator: FrontendApiTestConfiguratorService ) : AbstractHLApiSingleModuleTest(configurator) { override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFiles, module, testServices) - val declaration = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFiles.first()) val actual = executeOnPooledThreadInReadAction { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationRenderer/AbstractRendererTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationRenderer/AbstractRendererTest.kt index 98b3a046e4d..4f77b1ac8e1 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationRenderer/AbstractRendererTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/symbolDeclarationRenderer/AbstractRendererTest.kt @@ -16,8 +16,6 @@ import org.jetbrains.kotlin.test.services.assertions abstract class AbstractRendererTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val options = KtDeclarationRendererOptions.DEFAULT.copy( approximateTypes = true, renderContainingDeclarations = true, diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeInfoProvider/AbstractFunctionClassKindTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeInfoProvider/AbstractFunctionClassKindTest.kt index bd85d4c8f3e..5ddcbb39d20 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeInfoProvider/AbstractFunctionClassKindTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeInfoProvider/AbstractFunctionClassKindTest.kt @@ -19,8 +19,6 @@ abstract class AbstractFunctionClassKindTest ( ) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val expressionAtCaret = testServices.expressionMarkerProvider.getElementOfTypAtCaret(ktFile) as KtExpression val (type, functionClassKind) = executeOnPooledThreadInReadAction { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeProvider/AbstractHasCommonSubtypeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeProvider/AbstractHasCommonSubtypeTest.kt index 0cd484950a7..a57af7e919e 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeProvider/AbstractHasCommonSubtypeTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/components/typeProvider/AbstractHasCommonSubtypeTest.kt @@ -24,8 +24,6 @@ import java.io.File abstract class AbstractHasCommonSubtypeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val errors = mutableListOf() val originalText = ktFile.text val actualTextBuilder = StringBuilder() diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/fir/AbstractResolveCallTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/fir/AbstractResolveCallTest.kt index 57630ca4221..36c4f01193e 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/fir/AbstractResolveCallTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/fir/AbstractResolveCallTest.kt @@ -30,8 +30,6 @@ import kotlin.reflect.jvm.javaGetter abstract class AbstractResolveCallTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleModuleTest(configurator) { override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFiles, module, testServices) - val ktFile = ktFiles.first() val expression = testServices.expressionMarkerProvider.getSelectedElement(ktFile) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/scopes/AbstractFileScopeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/scopes/AbstractFileScopeTest.kt index fc26ce802ca..358780810a4 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/scopes/AbstractFileScopeTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/scopes/AbstractFileScopeTest.kt @@ -15,8 +15,6 @@ import org.jetbrains.kotlin.test.services.assertions abstract class AbstractFileScopeTest(configurator: FrontendApiTestConfiguratorService) : AbstractHLApiSingleFileTest(configurator) { override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val actual = executeOnPooledThreadInReadAction { analyseForTest(ktFile) { val symbol = ktFile.getFileSymbol() 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 b009510de9e..7371c8574d0 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 @@ -30,8 +30,6 @@ abstract class AbstractSymbolTest(configurator: FrontendApiTestConfiguratorServi abstract fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): List override fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - super.doTestByFileStructure(ktFile, module, testServices) - val createPointers = SymbolTestDirectives.DO_NOT_CHECK_SYMBOL_RESTORE !in module.directives val pointersWithRendered = analyseOnPooledThreadInReadAction(ktFile) { collectSymbols(ktFile, testServices).map { symbol -> diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleFileTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleFileTest.kt index 5dfeb99a850..7f46e04399c 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleFileTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleFileTest.kt @@ -16,7 +16,5 @@ abstract class AbstractHLApiSingleFileTest(configurator: FrontendApiTestConfigur doTestByFileStructure(singleFile, module, testServices) } - protected open fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) { - configurator.prepareTestFiles(listOf(ktFile), module, testServices) - } + protected abstract fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) } \ No newline at end of file diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleModuleTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleModuleTest.kt index c92e403ce4e..ece707aad2d 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleModuleTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/test/framework/AbstractHLApiSingleModuleTest.kt @@ -24,9 +24,7 @@ abstract class AbstractHLApiSingleModuleTest(configurator: FrontendApiTestConfig doTestByFileStructure(ktFiles, singleModule, testServices) } - protected open fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - configurator.prepareTestFiles(ktFiles, module, testServices) - } + protected abstract fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) protected inline fun analyseOnPooledThreadInReadAction(context: KtElement, crossinline action: KtAnalysisSession.() -> R): R = executeOnPooledThreadInReadAction {