[Test] Require specifying parser for FIR test. Unify names for FIR tests
Now all tests with `Fir` in name are named accordingly to parser which is used in them -- `FirPsi` or `FirLightTree`. This is needed to keep consistency between different types of tests, because there is no single default in parser mode between different scenarios of using FIR
This commit is contained in:
committed by
Space Team
parent
7e36a88b82
commit
da581f38e1
+6
-1
@@ -18,11 +18,13 @@ import org.jetbrains.kotlin.analysis.test.framework.project.structure.ktModulePr
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TestInfrastructureInternals
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.testConfiguration
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_PARSER
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifactImpl
|
||||
@@ -33,7 +35,6 @@ import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
|
||||
abstract class AbstractCompilerBasedTestForFir : AbstractCompilerBasedTest() {
|
||||
@OptIn(TestInfrastructureInternals::class)
|
||||
final override fun TestConfigurationBuilder.configuration() {
|
||||
globalDefaults {
|
||||
frontend = FrontendKinds.FIR
|
||||
@@ -41,6 +42,10 @@ abstract class AbstractCompilerBasedTestForFir : AbstractCompilerBasedTest() {
|
||||
dependencyKind = DependencyKind.Source
|
||||
}
|
||||
|
||||
defaultDirectives {
|
||||
FIR_PARSER with FirParser.Psi
|
||||
}
|
||||
|
||||
configureTest()
|
||||
defaultConfiguration(this)
|
||||
registerAnalysisApiBaseTestServices(disposable, FirLowLevelCompilerBasedTestConfigurator)
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnosticsWithLightTreeTest {
|
||||
public class FirLightTreeDiagnosticsTestGenerated extends AbstractFirLightTreeDiagnosticsTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/fir/analysis-tests/testData/resolve")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends AbstractFirDiagnosticsWithLightTreeTest {
|
||||
public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFirLightTreeDiagnosticsTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/diagnostics/tests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/nativeTests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirOldFrontendNativeDiagnosticsWithLightTreeTestGenerated extends AbstractFirNativeDiagnosticsWithLightTreeTest {
|
||||
public class FirLightTreeOldFrontendNativeDiagnosticsTestGenerated extends AbstractFirLightTreeNativeDiagnosticsTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInNativeTests() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(fir|ll)\\.kts?$"), true);
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirDiagnosticTestGenerated extends AbstractFirDiagnosticTest {
|
||||
public class FirPsiDiagnosticTestGenerated extends AbstractFirPsiDiagnosticTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/fir/analysis-tests/testData/resolve")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/tests-spec/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticTestSpecGenerated extends AbstractFirDiagnosticTestSpec {
|
||||
public class FirPsiDiagnosticTestSpecGenerated extends AbstractFirPsiDiagnosticTestSpec {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/tests-spec/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(fir|ll)\\.kts?$"), true, "helpers", "linked/annotations", "linked/built-in-types-and-their-semantics", "linked/control--and-data-flow-analysis.control-flow-graph.expressions-1.conditional-expressions", "linked/control--and-data-flow-analysis/performing-analysis-on-the-control-flow-graph", "linked/declarations/classifier-declaration/class-declaration/nested-and-inner-classifiers", "linked/declarations/classifier-declaration/classifier-initialization", "linked/declarations/classifier-declaration/data-class-declaration", "linked/declarations/function-declaration", "linked/declarations/property-declaration/property-initialization", "linked/declarations/type-alias", "linked/expressions/call-and-property-access-expressions", "linked/expressions/function-literals", "linked/inheritance", "linked/overload-resolution/c-level-partition", "linked/overload-resolution/determining-function-applicability-for-a-specific-call/rationale", "linked/overloadable-operators", "linked/statements/assignments/simple-assignments", "linked/type-inference/local-type-inference", "linked/type-inference/smart-casts/smart-cast-types", "linked/type-system/subtyping/subtyping-for-nullable-types", "linked/type-system/type-kinds/type-parameters");
|
||||
+1
-1
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosticTest {
|
||||
public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDiagnosticTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/diagnostics/tests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendForeignAnnotationsSourceJavaTestGenerated extends AbstractFirForeignAnnotationsSourceJavaTest {
|
||||
public class FirPsiOldFrontendForeignAnnotationsCompiledJavaTestGenerated extends AbstractFirPsiForeignAnnotationsCompiledJavaTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendForeignAnnotationsCompiledJavaWithPsiClassReadingTestGenerated extends AbstractFirForeignAnnotationsCompiledJavaWithPsiClassReadingTest {
|
||||
public class FirPsiOldFrontendForeignAnnotationsCompiledJavaWithPsiClassReadingTestGenerated extends AbstractFirPsiForeignAnnotationsCompiledJavaWithPsiClassReadingTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirOldFrontendForeignAnnotationsCompiledJavaTestGenerated extends AbstractFirForeignAnnotationsCompiledJavaTest {
|
||||
public class FirPsiOldFrontendForeignAnnotationsSourceJavaTestGenerated extends AbstractFirPsiForeignAnnotationsSourceJavaTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/testData/diagnostics/foreignAnnotationsTests/tests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/nativeTests")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirOldFrontendNativeDiagnosticsTestGenerated extends AbstractFirNativeDiagnosticsTest {
|
||||
public class FirPsiOldFrontendNativeDiagnosticsTestGenerated extends AbstractFirPsiNativeDiagnosticsTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInNativeTests() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/nativeTests"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(fir|ll)\\.kts?$"), true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/firTestWithJvmBackend")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirDiagnosticsTestWithJvmIrBackend {
|
||||
public class FirPsiDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirPsiDiagnosticsTestWithJvmIrBackend {
|
||||
@Test
|
||||
public void testAllFilesPresentInFirTestWithJvmBackend() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/firTestWithJvmBackend"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJvmBackend")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirOldDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirDiagnosticsTestWithJvmIrBackend {
|
||||
public class FirPsiOldDiagnosticsTestWithJvmIrBackendGenerated extends AbstractFirPsiDiagnosticsTestWithJvmIrBackend {
|
||||
@Test
|
||||
public void testAllFilesPresentInTestsWithJvmBackend() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJvmBackend"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.(fir|ll)\\.kts?$"), true);
|
||||
+1
-1
@@ -20,7 +20,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenTest {
|
||||
public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTreeBlackBoxCodegenTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/boxInline")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxInlineCodegenTestGenerated extends AbstractFirBlackBoxInlineCodegenTest {
|
||||
public class FirLightTreeBlackBoxInlineCodegenTestGenerated extends AbstractFirLightTreeBlackBoxInlineCodegenTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBoxInline() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -20,7 +20,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/boxModernJdk")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxModernJdkCodegenTestGenerated extends AbstractFirBlackBoxCodegenTest {
|
||||
public class FirLightTreeBlackBoxModernJdkCodegenTestGenerated extends AbstractFirLightTreeBlackBoxCodegenTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBoxModernJdk() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxModernJdk"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/bytecodeText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBytecodeTextTestGenerated extends AbstractFirBytecodeTextTest {
|
||||
public class FirLightTreeBytecodeTextTestGenerated extends AbstractFirLightTreeBytecodeTextTest {
|
||||
@Test
|
||||
@TestMetadata("accessorForOverridenVal.kt")
|
||||
public void testAccessorForOverridenVal() throws Exception {
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/debug/localVariables")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirLocalVariableTestGenerated extends AbstractFirLocalVariableTest {
|
||||
public class FirLightTreeLocalVariableTestGenerated extends AbstractFirLightTreeLocalVariableTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInLocalVariables() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/debug/localVariables"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/boxInline")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractFirSerializeCompileKotlinAgainstInlineKotlinTest {
|
||||
public class FirLightTreeSerializeCompileKotlinAgainstInlineKotlinTestGenerated extends AbstractFirLightTreeSerializeCompileKotlinAgainstInlineKotlinTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBoxInline() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/boxInline"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR_SERIALIZE, true);
|
||||
+1
-1
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlin.test.generators.GenerateCompilerTestsKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class FirSpecificBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenTest {
|
||||
public class FirLightTreeSpecificBlackBoxCodegenTestGenerated extends AbstractFirLightTreeBlackBoxCodegenTest {
|
||||
@Nested
|
||||
@TestMetadata("compiler/fir/fir2ir/testData/codegen/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/fir/fir2ir/testData/codegen/bytecodeListing")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Fir2IrSpecificBytecodeListingPsiTestGenerated extends AbstractFirPsiBytecodeListingTest {
|
||||
public class FirLightTreeSpecificBytecodeListingTestGenerated extends AbstractFirLightTreeBytecodeListingTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBytecodeListing() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/fir2ir/testData/codegen/bytecodeListing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/debug/stepping")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirSteppingTestGenerated extends AbstractFirSteppingTest {
|
||||
public class FirLightTreeSteppingTestGenerated extends AbstractFirLightTreeSteppingTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInStepping() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/debug/stepping"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/fir/fir2ir/testData/codegen/bytecodeListing")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Fir2IrSpecificBytecodeListingTestGenerated extends AbstractFirBytecodeListingTest {
|
||||
public class FirPsiSpecificBytecodeListingTestGenerated extends AbstractFirPsiBytecodeListingTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBytecodeListing() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/fir2ir/testData/codegen/bytecodeListing"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/fir/fir2ir/testData/ir/irText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class LightTreeFir2IrSpecificTextTestGenerated extends AbstractFirPsi2IrTextTest {
|
||||
public class FirLightTreeIrSpecificTextTestGenerated extends AbstractFirLightTreeIrTextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInIrText() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/fir2ir/testData/ir/irText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/ir/irText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirPsi2IrTextTestGenerated extends AbstractFirPsi2IrTextTest {
|
||||
public class FirLightTreeIrTextTestGenerated extends AbstractFirLightTreeIrTextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInIrText() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/fir/fir2ir/testData/ir/irText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Fir2IrSpecificTextTestGenerated extends AbstractFir2IrTextTest {
|
||||
public class FirPsiIrSpecificTextTestGenerated extends AbstractFirPsiIrTextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInIrText() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/fir/fir2ir/testData/ir/irText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/ir/irText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Fir2IrTextTestGenerated extends AbstractFir2IrTextTest {
|
||||
public class FirPsiIrTextTestGenerated extends AbstractFirPsiIrTextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInIrText() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.test
|
||||
|
||||
enum class FirParser {
|
||||
Psi, LightTree
|
||||
}
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/ir/interpreter")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class JvmIrInterpreterAfterFir2IrTestGenerated extends AbstractJvmIrInterpreterAfterFir2IrTest {
|
||||
public class JvmIrInterpreterAfterFirPsi2IrTestGenerated extends AbstractJvmIrInterpreterAfterFirPsi2IrTest {
|
||||
@Test
|
||||
@TestMetadata("abstract1.kt")
|
||||
public void testAbstract1() throws Exception {
|
||||
+5
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.test.directives
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.phaser.AnyNamedPhase
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.handlers.*
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
@@ -13,6 +14,7 @@ import org.jetbrains.kotlin.test.directives.model.DirectiveApplicability.File
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectiveApplicability.Global
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.ValueDirective
|
||||
import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
|
||||
@@ -205,7 +207,9 @@ fun extractIgnoredDirectivesForTargetBackend(
|
||||
FrontendKinds.ClassicFrontend -> listOf(CodegenTestDirectives.IGNORE_BACKEND_K1)
|
||||
FrontendKinds.FIR -> listOfNotNull(
|
||||
CodegenTestDirectives.IGNORE_BACKEND_K2,
|
||||
CodegenTestDirectives.IGNORE_BACKEND_K2_LIGHT_TREE.takeIf { module.directives.contains(FirDiagnosticsDirectives.USE_LIGHT_TREE) }
|
||||
CodegenTestDirectives.IGNORE_BACKEND_K2_LIGHT_TREE.takeIf {
|
||||
module.directives.singleOrZeroValue(FirDiagnosticsDirectives.FIR_PARSER) == FirParser.LightTree
|
||||
}
|
||||
)
|
||||
else -> return emptyList()
|
||||
}
|
||||
|
||||
+12
-6
@@ -5,6 +5,9 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.directives
|
||||
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_PARSER
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectiveApplicability.Global
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolvedTypesVerifier
|
||||
@@ -36,8 +39,8 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() {
|
||||
applicability = Global
|
||||
)
|
||||
|
||||
val USE_LIGHT_TREE by directive(
|
||||
description = "Enables light tree parser instead of PSI"
|
||||
val FIR_PARSER by enumDirective<FirParser>(
|
||||
description = "Defines which parser should be used for FIR compiler"
|
||||
)
|
||||
|
||||
val FIR_DISABLE_LAZY_RESOLVE_CHECKS by directive(
|
||||
@@ -45,10 +48,7 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() {
|
||||
)
|
||||
|
||||
val COMPARE_WITH_LIGHT_TREE by directive(
|
||||
description = """
|
||||
Enable comparing diagnostics between PSI and light tree modes
|
||||
For enabling light tree mode use $USE_LIGHT_TREE directive
|
||||
""".trimIndent(),
|
||||
description = "Enable comparing diagnostics between PSI and light tree modes",
|
||||
applicability = Global
|
||||
)
|
||||
|
||||
@@ -78,3 +78,9 @@ object FirDiagnosticsDirectives : SimpleDirectivesContainer() {
|
||||
""".trimIndent()
|
||||
)
|
||||
}
|
||||
|
||||
fun TestConfigurationBuilder.configureFirParser(parser: FirParser) {
|
||||
defaultDirectives {
|
||||
FIR_PARSER with parser
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -11,8 +11,8 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||
import org.jetbrains.kotlin.test.model.TestFile
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticsTestWithJvmIrBackend
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticsTestWithJvmIrBackend
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
|
||||
import org.jetbrains.kotlin.test.services.*
|
||||
import org.jetbrains.kotlin.test.utils.firTestDataFile
|
||||
@@ -59,7 +59,7 @@ open class FirTestDataConsistencyHandler(testServices: TestServices) : AfterAnal
|
||||
}
|
||||
|
||||
protected open fun correspondingFirTest(): AbstractKotlinCompilerTest {
|
||||
return if ("Backend" in testServices.testInfo.className) object : AbstractFirDiagnosticsTestWithJvmIrBackend() {}
|
||||
else object : AbstractFirDiagnosticTest() {}
|
||||
return if ("Backend" in testServices.testInfo.className) object : AbstractFirPsiDiagnosticsTestWithJvmIrBackend() {}
|
||||
else object : AbstractFirPsiDiagnosticTest() {}
|
||||
}
|
||||
}
|
||||
|
||||
+8
-6
@@ -38,7 +38,9 @@ import org.jetbrains.kotlin.platform.konan.isNative
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.singleValue
|
||||
import org.jetbrains.kotlin.test.getAnalyzerServices
|
||||
import org.jetbrains.kotlin.test.model.FrontendFacade
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
@@ -261,11 +263,11 @@ open class FirFrontendFacade(
|
||||
|
||||
PsiElementFinder.EP.getPoint(project).unregisterExtension(JavaElementFinder::class.java)
|
||||
|
||||
val lightTreeEnabled = FirDiagnosticsDirectives.USE_LIGHT_TREE in module.directives
|
||||
val (ktFiles, lightTreeFiles) = if (lightTreeEnabled) {
|
||||
emptyList<KtFile>() to testServices.sourceFileProvider.getLightTreeFilesForSourceFiles(module.files).values
|
||||
} else {
|
||||
testServices.sourceFileProvider.getKtFilesForSourceFiles(module.files, project).values to emptyList()
|
||||
val parser = module.directives.singleValue(FirDiagnosticsDirectives.FIR_PARSER)
|
||||
|
||||
val (ktFiles, lightTreeFiles) = when (parser) {
|
||||
FirParser.LightTree -> emptyList<KtFile>() to testServices.sourceFileProvider.getLightTreeFilesForSourceFiles(module.files).values
|
||||
FirParser.Psi -> testServices.sourceFileProvider.getKtFilesForSourceFiles(module.files, project).values to emptyList()
|
||||
}
|
||||
|
||||
val extensionRegistrars = FirExtensionRegistrar.getInstances(project)
|
||||
@@ -295,7 +297,7 @@ open class FirFrontendFacade(
|
||||
ktFiles,
|
||||
lightTreeFiles,
|
||||
IrGenerationExtension.getInstances(project),
|
||||
lightTreeEnabled,
|
||||
parser,
|
||||
enablePluginPhases,
|
||||
generateSignatures = module.targetBackend == TargetBackend.JVM_IR_SERIALIZE
|
||||
)
|
||||
|
||||
+4
-2
@@ -34,11 +34,13 @@ import org.jetbrains.kotlin.name.FqNameUnsafe
|
||||
import org.jetbrains.kotlin.psi.KtBinaryExpression
|
||||
import org.jetbrains.kotlin.psi.KtQualifiedExpression
|
||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.singleValue
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
||||
import org.jetbrains.kotlin.test.model.TestFile
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
@@ -66,7 +68,7 @@ class FirDiagnosticsHandler(testServices: TestServices) : FirAnalysisHandler(tes
|
||||
val currentModule = part.module
|
||||
|
||||
val lightTreeComparingModeEnabled = FirDiagnosticsDirectives.COMPARE_WITH_LIGHT_TREE in currentModule.directives
|
||||
val lightTreeEnabled = FirDiagnosticsDirectives.USE_LIGHT_TREE in currentModule.directives
|
||||
val lightTreeEnabled = currentModule.directives.singleValue(FirDiagnosticsDirectives.FIR_PARSER) == FirParser.LightTree
|
||||
|
||||
for (file in currentModule.files) {
|
||||
val firFile = info.mainFirFiles[file] ?: continue
|
||||
@@ -491,7 +493,7 @@ class PsiLightTreeMetaInfoProcessor(testServices: TestServices) : AbstractTwoAtt
|
||||
}
|
||||
|
||||
override fun firstAttributeEnabled(module: TestModule): Boolean {
|
||||
return FirDiagnosticsDirectives.USE_LIGHT_TREE !in module.directives
|
||||
return module.directives.singleValue(FirDiagnosticsDirectives.FIR_PARSER) == FirParser.Psi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-18
@@ -7,13 +7,11 @@ package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.platform.konan.NativePlatforms
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.*
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
|
||||
import org.jetbrains.kotlin.test.frontend.classic.handlers.ClassicDiagnosticsHandler
|
||||
@@ -88,7 +86,7 @@ abstract class AbstractDiagnosticsNativeTest : AbstractDiagnosticsNativeTestBase
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirNativeDiagnosticsTest : AbstractDiagnosticsNativeTestBase<FirOutputArtifact>() {
|
||||
abstract class AbstractFirNativeDiagnosticsTestBase(val parser: FirParser) : AbstractDiagnosticsNativeTestBase<FirOutputArtifact>() {
|
||||
override val targetFrontend: FrontendKind<FirOutputArtifact>
|
||||
get() = FrontendKinds.FIR
|
||||
|
||||
@@ -108,24 +106,20 @@ abstract class AbstractFirNativeDiagnosticsTest : AbstractDiagnosticsNativeTestB
|
||||
}
|
||||
}
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.enableLazyResolvePhaseChecking()
|
||||
|
||||
builder.forTestsMatching("compiler/testData/diagnostics/*") {
|
||||
configurationForClassicAndFirTestsAlongside()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirNativeDiagnosticsWithLightTreeTest : AbstractFirNativeDiagnosticsTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
+FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
configureFirParser(parser)
|
||||
enableLazyResolvePhaseChecking()
|
||||
|
||||
forTestsMatching("compiler/testData/diagnostics/*") {
|
||||
configurationForClassicAndFirTestsAlongside()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiNativeDiagnosticsTest : AbstractFirNativeDiagnosticsTestBase(FirParser.Psi)
|
||||
abstract class AbstractFirLightTreeNativeDiagnosticsTest : AbstractFirNativeDiagnosticsTestBase(FirParser.LightTree)
|
||||
|
||||
|
||||
|
||||
+12
-1
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.classic.ClassicBackendInput
|
||||
@@ -19,6 +20,7 @@ import org.jetbrains.kotlin.test.builders.classicFrontendHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.jvmArtifactsHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -146,7 +148,9 @@ abstract class AbstractDiagnosticsTestWithJvmIrBackend :
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
abstract class AbstractFirDiagnosticsTestWithJvmIrBackend : AbstractDiagnosticsTestWithJvmBackend<FirOutputArtifact, IrBackendInput>() {
|
||||
abstract class AbstractFirDiagnosticsTestWithJvmIrBackendBase(
|
||||
val parser: FirParser
|
||||
) : AbstractDiagnosticsTestWithJvmBackend<FirOutputArtifact, IrBackendInput>() {
|
||||
override val targetFrontend: FrontendKind<FirOutputArtifact>
|
||||
get() = FrontendKinds.FIR
|
||||
|
||||
@@ -169,4 +173,11 @@ abstract class AbstractFirDiagnosticsTestWithJvmIrBackend : AbstractDiagnosticsT
|
||||
if (InTextDirectivesUtils.isDirectiveDefined(wholeText, "// TARGET_BACKEND: JVM_OLD")) return
|
||||
super.runTest(filePath)
|
||||
}
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiDiagnosticsTestWithJvmIrBackend : AbstractFirDiagnosticsTestWithJvmIrBackendBase(FirParser.Psi)
|
||||
|
||||
+6
-12
@@ -18,13 +18,14 @@ import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.coerce
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.WITH_EXTENDED_CHECKERS
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.JDK_KIND
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_REFLECT
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.LANGUAGE
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.fir.*
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
@@ -37,23 +38,16 @@ import org.jetbrains.kotlin.test.services.service
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
|
||||
|
||||
abstract class AbstractFirDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
abstract class AbstractFirDiagnosticTestBase(val parser: FirParser) : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
baseFirDiagnosticTestConfiguration()
|
||||
enableLazyResolvePhaseChecking()
|
||||
configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirDiagnosticsWithLightTreeTest : AbstractFirDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
+USE_LIGHT_TREE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
abstract class AbstractFirPsiDiagnosticTest : AbstractFirDiagnosticTestBase(FirParser.Psi)
|
||||
abstract class AbstractFirLightTreeDiagnosticsTest : AbstractFirDiagnosticTestBase(FirParser.LightTree)
|
||||
|
||||
fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside() {
|
||||
useAfterAnalysisCheckers(
|
||||
|
||||
+4
-1
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.bind
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives.SPEC_HELPERS
|
||||
@@ -14,7 +15,7 @@ import org.jetbrains.kotlin.test.frontend.fir.handlers.FirIdenticalChecker
|
||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.SpecHelpersSourceFilesProvider
|
||||
|
||||
abstract class AbstractFirDiagnosticTestSpec : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirDiagnosticTestSpecBase(parser: FirParser) : AbstractFirDiagnosticTestBase(parser) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
@@ -23,6 +24,8 @@ abstract class AbstractFirDiagnosticTestSpec : AbstractFirDiagnosticTest() {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiDiagnosticTestSpec : AbstractFirDiagnosticTestSpecBase(FirParser.Psi)
|
||||
|
||||
fun TestConfigurationBuilder.baseFirSpecDiagnosticTestConfiguration(baseDir: String = ".") {
|
||||
defaultDirectives {
|
||||
+SPEC_HELPERS
|
||||
|
||||
+14
-7
@@ -5,11 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.firFrontendStep
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.handlers.FirJspecifyDiagnosticComplianceHandler
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFailingTestSuppressor
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
@@ -17,7 +19,10 @@ import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.preprocessors.JspecifyMarksCleanupPreprocessor
|
||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||
|
||||
abstract class AbstractFirForeignAnnotationsTestBase(kind: ForeignAnnotationsTestKind) : AbstractForeignAnnotationsTestBase(kind) {
|
||||
abstract class AbstractFirForeignAnnotationsTestBase(
|
||||
kind: ForeignAnnotationsTestKind,
|
||||
val parser: FirParser
|
||||
) : AbstractForeignAnnotationsTestBase(kind) {
|
||||
override fun TestConfigurationBuilder.configureFrontend() {
|
||||
globalDefaults {
|
||||
frontend = FrontendKinds.FIR
|
||||
@@ -27,6 +32,8 @@ abstract class AbstractFirForeignAnnotationsTestBase(kind: ForeignAnnotationsTes
|
||||
LanguageSettingsDirectives.LANGUAGE with "+EnableDfaWarningsInK2"
|
||||
}
|
||||
|
||||
configureFirParser(parser)
|
||||
|
||||
useMetaInfoProcessors(::PsiLightTreeMetaInfoProcessor)
|
||||
firFrontendStep()
|
||||
firHandlersStep {
|
||||
@@ -56,11 +63,11 @@ abstract class AbstractFirForeignAnnotationsTestBase(kind: ForeignAnnotationsTes
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirForeignAnnotationsSourceJavaTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.SOURCE)
|
||||
abstract class AbstractFirPsiForeignAnnotationsSourceJavaTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.SOURCE, FirParser.Psi)
|
||||
|
||||
abstract class AbstractFirForeignAnnotationsCompiledJavaTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.COMPILED_JAVA)
|
||||
abstract class AbstractFirPsiForeignAnnotationsCompiledJavaTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.COMPILED_JAVA, FirParser.Psi)
|
||||
|
||||
abstract class AbstractFirForeignAnnotationsCompiledJavaWithPsiClassReadingTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.COMPILED_JAVA_WITH_PSI_CLASS_LOADING)
|
||||
abstract class AbstractFirPsiForeignAnnotationsCompiledJavaWithPsiClassReadingTest :
|
||||
AbstractFirForeignAnnotationsTestBase(ForeignAnnotationsTestKind.COMPILED_JAVA_WITH_PSI_CLASS_LOADING, FirParser.Psi)
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ private class FirForeignDiagnosticsTestDataConsistencyHandler(testServices: Test
|
||||
FirTestDataConsistencyHandler(testServices) {
|
||||
|
||||
override fun correspondingFirTest(): AbstractKotlinCompilerTest =
|
||||
object : AbstractFirForeignAnnotationsSourceJavaTest() {}
|
||||
object : AbstractFirPsiForeignAnnotationsSourceJavaTest() {}
|
||||
}
|
||||
|
||||
abstract class AbstractOldFrontendForeignAnnotationsTestBase(kind: ForeignAnnotationsTestKind) :
|
||||
|
||||
+8
-6
@@ -18,7 +18,8 @@ import org.jetbrains.kotlin.test.builders.configureClassicFrontendHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.configureJvmArtifactsHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.AsmLikeInstructionListingDirectives.CHECK_ASM_LIKE_INSTRUCTIONS
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -100,7 +101,7 @@ open class AbstractIrAsmLikeInstructionListingTest :
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
abstract class AbstractFirAsmLikeInstructionListingTestBase(val useLightTree: Boolean) :
|
||||
abstract class AbstractFirAsmLikeInstructionListingTestBase(val parser: FirParser) :
|
||||
AbstractAsmLikeInstructionListingTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
FrontendKinds.FIR,
|
||||
TargetBackend.JVM_IR
|
||||
@@ -117,12 +118,13 @@ abstract class AbstractFirAsmLikeInstructionListingTestBase(val useLightTree: Bo
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
if (useLightTree) {
|
||||
builder.defaultDirectives { +USE_LIGHT_TREE }
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirAsmLikeInstructionListingTest : AbstractFirAsmLikeInstructionListingTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeAsmLikeInstructionListingTest : AbstractFirAsmLikeInstructionListingTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiAsmLikeInstructionListingTest : AbstractFirAsmLikeInstructionListingTestBase(FirParser.Psi)
|
||||
|
||||
|
||||
|
||||
+2
-4
@@ -21,7 +21,7 @@ open class AbstractIrBlackBoxInlineCodegenTest : AbstractIrBlackBoxCodegenTest()
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxInlineCodegenTest : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreeBlackBoxInlineCodegenTest : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.useInlineHandlers()
|
||||
@@ -32,8 +32,6 @@ open class AbstractFirBlackBoxInlineCodegenTest : AbstractFirBlackBoxCodegenTest
|
||||
open class AbstractFirPsiBlackBoxInlineCodegenTest : AbstractFirPsiBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
useInlineHandlers()
|
||||
}
|
||||
builder.useInlineHandlers()
|
||||
}
|
||||
}
|
||||
|
||||
+6
-9
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.test.runners.codegen
|
||||
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
|
||||
import org.jetbrains.kotlin.test.backend.classic.ClassicBackendInput
|
||||
@@ -15,9 +16,7 @@ import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureJvmArtifactsHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.*
|
||||
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
|
||||
import org.jetbrains.kotlin.test.frontend.classic.*
|
||||
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrResultsConverter
|
||||
@@ -81,7 +80,7 @@ open class AbstractIrBytecodeListingTest : AbstractBytecodeListingTestBase<Class
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
abstract class AbstractFirBytecodeListingTestBase(val useLightTree: Boolean) :
|
||||
abstract class AbstractFirBytecodeListingTestBase(val parser: FirParser) :
|
||||
AbstractBytecodeListingTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
TargetBackend.JVM_IR,
|
||||
FrontendKinds.FIR
|
||||
@@ -97,13 +96,11 @@ abstract class AbstractFirBytecodeListingTestBase(val useLightTree: Boolean) :
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
if (useLightTree) {
|
||||
builder.defaultDirectives { +FirDiagnosticsDirectives.USE_LIGHT_TREE }
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBytecodeListingTest : AbstractFirBytecodeListingTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeBytecodeListingTest : AbstractFirBytecodeListingTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiBytecodeListingTest : AbstractFirBytecodeListingTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiBytecodeListingTest : AbstractFirBytecodeListingTestBase(FirParser.Psi)
|
||||
|
||||
+6
-7
@@ -18,7 +18,8 @@ import org.jetbrains.kotlin.test.builders.configureJvmArtifactsHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.WITH_REFLECT
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -83,7 +84,7 @@ open class AbstractIrBytecodeTextTest : AbstractBytecodeTextTestBase<ClassicFron
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
open class AbstractFirBytecodeTextTestBase(val useLightTree: Boolean) : AbstractBytecodeTextTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
open class AbstractFirBytecodeTextTestBase(val parser: FirParser) : AbstractBytecodeTextTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
targetBackend = TargetBackend.JVM_IR,
|
||||
targetFrontend = FrontendKinds.FIR
|
||||
) {
|
||||
@@ -102,15 +103,13 @@ open class AbstractFirBytecodeTextTestBase(val useLightTree: Boolean) : Abstract
|
||||
defaultDirectives {
|
||||
// See KT-44152
|
||||
-USE_PSI_CLASS_FILES_READING
|
||||
if (useLightTree) {
|
||||
+FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBytecodeTextTest : AbstractFirBytecodeTextTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeBytecodeTextTest : AbstractFirBytecodeTextTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiBytecodeTextTest : AbstractFirBytecodeTextTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiBytecodeTextTest : AbstractFirBytecodeTextTestBase(FirParser.Psi)
|
||||
|
||||
+7
-8
@@ -20,8 +20,9 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureIrHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_BACKEND_K2_MULTI_MODULE
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_BACKEND_MULTI_MODULE
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.SERIALIZE_IR
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.directives.model.ValueDirective
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
@@ -103,7 +104,7 @@ open class AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest : AbstractIrC
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(val useLightTree: Boolean) :
|
||||
open class AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(val parser: FirParser) :
|
||||
AbstractCompileKotlinAgainstInlineKotlinTestBase<FirOutputArtifact, IrBackendInput>(FrontendKinds.FIR, TargetBackend.JVM_IR_SERIALIZE) {
|
||||
|
||||
override val frontendFacade: Constructor<FrontendFacade<FirOutputArtifact>>
|
||||
@@ -120,15 +121,13 @@ open class AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(val useL
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureForSerialization()
|
||||
if (useLightTree) {
|
||||
builder.defaultDirectives { +FirDiagnosticsDirectives.USE_LIGHT_TREE }
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirSerializeCompileKotlinAgainstInlineKotlinTest :
|
||||
AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeSerializeCompileKotlinAgainstInlineKotlinTest :
|
||||
AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiSerializeCompileKotlinAgainstInlineKotlinTest :
|
||||
AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(useLightTree = false)
|
||||
AbstractFirSerializeCompileKotlinAgainstInlineKotlinTestBase(FirParser.Psi)
|
||||
|
||||
+6
-7
@@ -13,8 +13,9 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.USE_PSI_CLASS_FILES_READING
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives.WITH_STDLIB
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrResultsConverter
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirMetaInfoDiffSuppressor
|
||||
@@ -26,7 +27,7 @@ import org.jetbrains.kotlin.test.frontend.fir.handlers.FirScopeDumpHandler
|
||||
import org.jetbrains.kotlin.test.model.*
|
||||
|
||||
abstract class AbstractFirBlackBoxCodegenTestBase(
|
||||
val useLightTree: Boolean
|
||||
val parser: FirParser
|
||||
) : AbstractJvmBlackBoxCodegenTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
FrontendKinds.FIR,
|
||||
TargetBackend.JVM_IR
|
||||
@@ -43,12 +44,10 @@ abstract class AbstractFirBlackBoxCodegenTestBase(
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
configureFirParser(parser)
|
||||
defaultDirectives {
|
||||
// See KT-44152
|
||||
-USE_PSI_CLASS_FILES_READING
|
||||
if (useLightTree) {
|
||||
+USE_LIGHT_TREE
|
||||
}
|
||||
}
|
||||
|
||||
forTestsMatching("*WithStdLib/*") {
|
||||
@@ -84,7 +83,7 @@ abstract class AbstractFirBlackBoxCodegenTestBase(
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTestBase(FirParser.Psi)
|
||||
|
||||
+6
-7
@@ -12,7 +12,8 @@ import org.jetbrains.kotlin.test.backend.classic.ClassicJvmBackendFacade
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -61,7 +62,7 @@ open class AbstractLocalVariableTest : AbstractLocalVariableTestBase<ClassicFron
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirLocalVariableTestBase(val useLightTree: Boolean) : AbstractLocalVariableTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
open class AbstractFirLocalVariableTestBase(val parser: FirParser) : AbstractLocalVariableTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
FrontendKinds.FIR,
|
||||
TargetBackend.JVM_IR
|
||||
) {
|
||||
@@ -77,13 +78,11 @@ open class AbstractFirLocalVariableTestBase(val useLightTree: Boolean) : Abstrac
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureDumpHandlersForCodegenTest()
|
||||
if (useLightTree) {
|
||||
builder.defaultDirectives { +FirDiagnosticsDirectives.USE_LIGHT_TREE }
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirLocalVariableTest : AbstractFirLocalVariableTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeLocalVariableTest : AbstractFirLocalVariableTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiLocalVariableTest : AbstractFirLocalVariableTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiLocalVariableTest : AbstractFirLocalVariableTestBase(FirParser.Psi)
|
||||
|
||||
+6
-7
@@ -12,7 +12,8 @@ import org.jetbrains.kotlin.test.backend.classic.ClassicJvmBackendFacade
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -61,7 +62,7 @@ open class AbstractSteppingTest : AbstractSteppingTestBase<ClassicFrontendOutput
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirSteppingTestBase(val useLightTree: Boolean) : AbstractSteppingTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
open class AbstractFirSteppingTestBase(val parser: FirParser) : AbstractSteppingTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
FrontendKinds.FIR,
|
||||
TargetBackend.JVM_IR
|
||||
) {
|
||||
@@ -77,13 +78,11 @@ open class AbstractFirSteppingTestBase(val useLightTree: Boolean) : AbstractStep
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureDumpHandlersForCodegenTest()
|
||||
if (useLightTree) {
|
||||
builder.defaultDirectives { +FirDiagnosticsDirectives.USE_LIGHT_TREE }
|
||||
}
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirSteppingTest : AbstractFirSteppingTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeSteppingTest : AbstractFirSteppingTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsiSteppingTest : AbstractFirSteppingTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiSteppingTest : AbstractFirSteppingTestBase(FirParser.Psi)
|
||||
|
||||
+8
-12
@@ -18,8 +18,9 @@ import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.irHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_IR
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_KT_IR
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendOutputArtifact
|
||||
@@ -116,7 +117,7 @@ open class AbstractIrTextTest : AbstractIrTextTestBase<ClassicFrontendOutputArti
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFir2IrTextTestBase(val useLightTree: Boolean) : AbstractIrTextTestBase<FirOutputArtifact>() {
|
||||
open class AbstractFirIrTextTestBase(val parser: FirParser) : AbstractIrTextTestBase<FirOutputArtifact>() {
|
||||
override val frontend: FrontendKind<*>
|
||||
get() = FrontendKinds.FIR
|
||||
override val frontendFacade: Constructor<FrontendFacade<FirOutputArtifact>>
|
||||
@@ -127,12 +128,7 @@ open class AbstractFir2IrTextTestBase(val useLightTree: Boolean) : AbstractIrTex
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
if (useLightTree) {
|
||||
defaultDirectives {
|
||||
+FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
}
|
||||
}
|
||||
|
||||
configureFirParser(parser)
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIrDumpIdenticalChecker,
|
||||
::BlackBoxCodegenSuppressor
|
||||
@@ -147,12 +143,12 @@ open class AbstractFir2IrTextTestBase(val useLightTree: Boolean) : AbstractIrTex
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFir2IrTextTest : AbstractFir2IrTextTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeIrTextTest : AbstractFirIrTextTestBase(FirParser.LightTree)
|
||||
|
||||
@FirPsiCodegenTest
|
||||
open class AbstractFirPsi2IrTextTest : AbstractFir2IrTextTestBase(useLightTree = false)
|
||||
open class AbstractFirPsiIrTextTest : AbstractFirIrTextTestBase(FirParser.Psi)
|
||||
|
||||
open class AbstractFir2IrJsTextTestBase(useLightTree: Boolean) : AbstractFir2IrTextTestBase(useLightTree) {
|
||||
open class AbstractFirIrJsTextTestBase(parser: FirParser) : AbstractFirIrTextTestBase(parser) {
|
||||
override fun TestConfigurationBuilder.applyConfigurators() {
|
||||
useConfigurators(
|
||||
::CommonEnvironmentConfigurator,
|
||||
@@ -175,4 +171,4 @@ open class AbstractFir2IrJsTextTestBase(useLightTree: Boolean) : AbstractFir2IrT
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFir2IrJsTextTest : AbstractFir2IrJsTextTestBase(useLightTree = true)
|
||||
open class AbstractFirLightTreeIrJsTextTest : AbstractFirIrJsTextTestBase(FirParser.LightTree)
|
||||
|
||||
+12
-1
@@ -9,12 +9,14 @@ import org.jetbrains.kotlin.config.AnalysisFlag
|
||||
import org.jetbrains.kotlin.config.AnalysisFlags
|
||||
import org.jetbrains.kotlin.config.LanguageVersion
|
||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
|
||||
import org.jetbrains.kotlin.test.backend.handlers.IrInterpreterBackendHandler
|
||||
import org.jetbrains.kotlin.test.builders.*
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
||||
import org.jetbrains.kotlin.test.model.BinaryKind
|
||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
@@ -22,6 +24,7 @@ import org.jetbrains.kotlin.test.model.FrontendKind
|
||||
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||
import org.jetbrains.kotlin.test.preprocessors.IrInterpreterImplicitKotlinImports
|
||||
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.FirPsiCodegenTest
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator
|
||||
@@ -81,7 +84,15 @@ open class AbstractJvmIrInterpreterTest(frontendKind: FrontendKind<*>) : Abstrac
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractJvmIrInterpreterAfterFir2IrTest : AbstractJvmIrInterpreterTest(FrontendKinds.FIR)
|
||||
abstract class AbstractJvmIrInterpreterAfterFir2IrTestBase(val parser: FirParser) : AbstractJvmIrInterpreterTest(FrontendKinds.FIR) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureFirParser(parser)
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractJvmIrInterpreterAfterFirPsi2IrTest : AbstractJvmIrInterpreterAfterFir2IrTestBase(FirParser.Psi)
|
||||
|
||||
open class AbstractJvmIrInterpreterAfterPsi2IrTest : AbstractJvmIrInterpreterTest(FrontendKinds.ClassicFrontend)
|
||||
|
||||
class IrInterpreterEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
|
||||
|
||||
@@ -45,6 +45,7 @@ import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||
import org.jetbrains.kotlin.resolve.BindingTrace
|
||||
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.util.DummyLogger
|
||||
import org.jetbrains.kotlin.util.Logger
|
||||
import java.io.File
|
||||
@@ -124,6 +125,7 @@ object GenerationUtils {
|
||||
files,
|
||||
emptyList(),
|
||||
IrGenerationExtension.getInstances(project),
|
||||
FirParser.Psi,
|
||||
generateSignatures = false
|
||||
)
|
||||
val fir2IrExtensions = JvmFir2IrExtensions(configuration, JvmIrDeserializerImpl(), JvmIrMangler)
|
||||
|
||||
@@ -25,6 +25,7 @@ import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.sourceFiles.LightTreeFile
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
|
||||
abstract class AbstractFirAnalyzerFacade {
|
||||
abstract val scopeSession: ScopeSession
|
||||
@@ -45,7 +46,7 @@ class FirAnalyzerFacade(
|
||||
val ktFiles: Collection<KtFile> = emptyList(), // may be empty if light tree mode enabled
|
||||
val lightTreeFiles: Collection<LightTreeFile> = emptyList(), // may be empty if light tree mode disabled
|
||||
val irGeneratorExtensions: Collection<IrGenerationExtension>,
|
||||
val useLightTree: Boolean = false,
|
||||
val parser: FirParser,
|
||||
val enablePluginPhases: Boolean = false,
|
||||
val generateSignatures: Boolean = false
|
||||
) : AbstractFirAnalyzerFacade() {
|
||||
@@ -59,18 +60,21 @@ class FirAnalyzerFacade(
|
||||
private fun buildRawFir() {
|
||||
if (firFiles != null) return
|
||||
val firProvider = (session.firProvider as FirProviderImpl)
|
||||
firFiles = if (useLightTree) {
|
||||
val builder = LightTree2Fir(session, firProvider.kotlinScopeProvider)
|
||||
lightTreeFiles.map {
|
||||
builder.buildFirFile(it.lightTree, it.sourceFile, it.linesMapping).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
firFiles = when (parser) {
|
||||
FirParser.LightTree -> {
|
||||
val builder = LightTree2Fir(session, firProvider.kotlinScopeProvider)
|
||||
lightTreeFiles.map {
|
||||
builder.buildFirFile(it.lightTree, it.sourceFile, it.linesMapping).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
val builder = RawFirBuilder(session, firProvider.kotlinScopeProvider)
|
||||
ktFiles.map {
|
||||
builder.buildFirFile(it).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
FirParser.Psi -> {
|
||||
val builder = RawFirBuilder(session, firProvider.kotlinScopeProvider)
|
||||
ktFiles.map {
|
||||
builder.buildFirFile(it).also { firFile ->
|
||||
firProvider.recordFile(firFile)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+38
-41
@@ -10,11 +10,8 @@ import org.jetbrains.kotlin.generators.util.TestGeneratorUtil
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.runners.*
|
||||
import org.jetbrains.kotlin.test.runners.codegen.*
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFir2IrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractIrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFirPsi2IrTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.AbstractJvmIrInterpreterAfterFir2IrTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.AbstractJvmIrInterpreterAfterPsi2IrTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.*
|
||||
import org.jetbrains.kotlin.test.runners.ir.interpreter.*
|
||||
import org.jetbrains.kotlin.test.utils.CUSTOM_TEST_DATA_EXTENSION_PATTERN
|
||||
import org.jetbrains.kotlin.visualizer.fir.AbstractFirVisualizerTest
|
||||
import org.jetbrains.kotlin.visualizer.psi.AbstractPsiVisualizerTest
|
||||
@@ -179,7 +176,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("codegen/asmLike")
|
||||
}
|
||||
|
||||
testClass<AbstractJvmIrInterpreterAfterFir2IrTest> {
|
||||
testClass<AbstractJvmIrInterpreterAfterFirPsi2IrTest> {
|
||||
model("ir/interpreter", excludeDirs = listOf("helpers"))
|
||||
}
|
||||
|
||||
@@ -191,57 +188,57 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
// ---------------------------------------------- FIR tests ----------------------------------------------
|
||||
|
||||
testGroup(testsRoot = "compiler/fir/analysis-tests/tests-gen", testDataRoot = "compiler/testData") {
|
||||
testClass<AbstractFirDiagnosticTest>(suiteTestClassName = "FirOldFrontendDiagnosticsTestGenerated") {
|
||||
testClass<AbstractFirPsiDiagnosticTest>(suiteTestClassName = "FirPsiOldFrontendDiagnosticsTestGenerated") {
|
||||
model("diagnostics/tests", pattern = "^(.*)\\.kts?$", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirDiagnosticsWithLightTreeTest>(
|
||||
suiteTestClassName = "FirOldFrontendDiagnosticsWithLightTreeTestGenerated"
|
||||
testClass<AbstractFirLightTreeDiagnosticsTest>(
|
||||
suiteTestClassName = "FirLightTreeOldFrontendDiagnosticsTestGenerated"
|
||||
) {
|
||||
model("diagnostics/tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/testsWithStdLib", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirForeignAnnotationsSourceJavaTest>(
|
||||
suiteTestClassName = "FirOldFrontendForeignAnnotationsSourceJavaTestGenerated"
|
||||
testClass<AbstractFirPsiForeignAnnotationsSourceJavaTest>(
|
||||
suiteTestClassName = "FirPsiOldFrontendForeignAnnotationsSourceJavaTestGenerated"
|
||||
) {
|
||||
model("diagnostics/foreignAnnotationsTests/tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java8Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java11Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirForeignAnnotationsCompiledJavaTest>(
|
||||
suiteTestClassName = "FirOldFrontendForeignAnnotationsCompiledJavaTestGenerated"
|
||||
testClass<AbstractFirPsiForeignAnnotationsCompiledJavaTest>(
|
||||
suiteTestClassName = "FirPsiOldFrontendForeignAnnotationsCompiledJavaTestGenerated"
|
||||
) {
|
||||
model("diagnostics/foreignAnnotationsTests/tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java8Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java11Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirForeignAnnotationsCompiledJavaWithPsiClassReadingTest>(
|
||||
suiteTestClassName = "FirOldFrontendForeignAnnotationsCompiledJavaWithPsiClassReadingTestGenerated"
|
||||
testClass<AbstractFirPsiForeignAnnotationsCompiledJavaWithPsiClassReadingTest>(
|
||||
suiteTestClassName = "FirPsiOldFrontendForeignAnnotationsCompiledJavaWithPsiClassReadingTestGenerated"
|
||||
) {
|
||||
model("diagnostics/foreignAnnotationsTests/tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java8Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
model("diagnostics/foreignAnnotationsTests/java11Tests", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirNativeDiagnosticsTest>(
|
||||
suiteTestClassName = "FirOldFrontendNativeDiagnosticsTestGenerated"
|
||||
testClass<AbstractFirPsiNativeDiagnosticsTest>(
|
||||
suiteTestClassName = "FirPsiOldFrontendNativeDiagnosticsTestGenerated"
|
||||
) {
|
||||
model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirNativeDiagnosticsWithLightTreeTest>(
|
||||
suiteTestClassName = "FirOldFrontendNativeDiagnosticsWithLightTreeTestGenerated"
|
||||
testClass<AbstractFirLightTreeNativeDiagnosticsTest>(
|
||||
suiteTestClassName = "FirLightTreeOldFrontendNativeDiagnosticsTestGenerated"
|
||||
) {
|
||||
model("diagnostics/nativeTests", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
}
|
||||
|
||||
testGroup(testsRoot = "compiler/fir/fir2ir/tests-gen", testDataRoot = "compiler/testData") {
|
||||
testClass<AbstractFirBlackBoxCodegenTest> {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTest> {
|
||||
model("codegen/box")
|
||||
}
|
||||
|
||||
@@ -249,7 +246,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("codegen/box")
|
||||
}
|
||||
|
||||
testClass<AbstractFirBlackBoxCodegenTest>("FirBlackBoxModernJdkCodegenTestGenerated") {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTest>("FirLightTreeBlackBoxModernJdkCodegenTestGenerated") {
|
||||
model("codegen/boxModernJdk")
|
||||
}
|
||||
|
||||
@@ -257,7 +254,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("codegen/boxModernJdk")
|
||||
}
|
||||
|
||||
testClass<AbstractFirBlackBoxInlineCodegenTest> {
|
||||
testClass<AbstractFirLightTreeBlackBoxInlineCodegenTest> {
|
||||
model("codegen/boxInline")
|
||||
}
|
||||
|
||||
@@ -265,7 +262,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("codegen/boxInline")
|
||||
}
|
||||
|
||||
testClass<AbstractFirSteppingTest> {
|
||||
testClass<AbstractFirLightTreeSteppingTest> {
|
||||
model("debug/stepping")
|
||||
}
|
||||
|
||||
@@ -273,7 +270,7 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("debug/stepping")
|
||||
}
|
||||
|
||||
testClass<AbstractFirLocalVariableTest> {
|
||||
testClass<AbstractFirLightTreeLocalVariableTest> {
|
||||
model("debug/localVariables")
|
||||
}
|
||||
|
||||
@@ -281,15 +278,15 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("debug/localVariables")
|
||||
}
|
||||
|
||||
testClass<AbstractFirDiagnosticsTestWithJvmIrBackend> {
|
||||
testClass<AbstractFirPsiDiagnosticsTestWithJvmIrBackend> {
|
||||
model("diagnostics/firTestWithJvmBackend")
|
||||
}
|
||||
|
||||
testClass<AbstractFirDiagnosticsTestWithJvmIrBackend>(suiteTestClassName = "FirOldDiagnosticsTestWithJvmIrBackendGenerated") {
|
||||
testClass<AbstractFirPsiDiagnosticsTestWithJvmIrBackend>(suiteTestClassName = "FirPsiOldDiagnosticsTestWithJvmIrBackendGenerated") {
|
||||
model("diagnostics/testsWithJvmBackend", excludedPattern = excludedCustomTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirSerializeCompileKotlinAgainstInlineKotlinTest> {
|
||||
testClass<AbstractFirLightTreeSerializeCompileKotlinAgainstInlineKotlinTest> {
|
||||
model("codegen/boxInline")
|
||||
}
|
||||
|
||||
@@ -299,8 +296,8 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
}
|
||||
|
||||
testGroup(testsRoot = "compiler/fir/fir2ir/tests-gen", testDataRoot = "compiler/fir/fir2ir/testData") {
|
||||
testClass<AbstractFirBlackBoxCodegenTest>(
|
||||
suiteTestClassName = "FirSpecificBlackBoxCodegenTestGenerated"
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTest>(
|
||||
suiteTestClassName = "FirLightTreeSpecificBlackBoxCodegenTestGenerated"
|
||||
) {
|
||||
model("codegen/box")
|
||||
model("codegen/boxWithStdLib")
|
||||
@@ -313,53 +310,53 @@ fun generateJUnit5CompilerTests(args: Array<String>) {
|
||||
model("codegen/boxWithStdLib")
|
||||
}
|
||||
|
||||
testClass<AbstractFir2IrTextTest>(
|
||||
suiteTestClassName = "Fir2IrSpecificTextTestGenerated"
|
||||
testClass<AbstractFirLightTreeIrTextTest>(
|
||||
suiteTestClassName = "FirLightTreeIrSpecificTextTestGenerated"
|
||||
) {
|
||||
model("ir/irText")
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsi2IrTextTest>(
|
||||
suiteTestClassName = "LightTreeFir2IrSpecificTextTestGenerated"
|
||||
testClass<AbstractFirPsiIrTextTest>(
|
||||
suiteTestClassName = "FirPsiIrSpecificTextTestGenerated"
|
||||
) {
|
||||
model("ir/irText")
|
||||
}
|
||||
|
||||
testClass<AbstractFirBytecodeListingTest>(
|
||||
suiteTestClassName = "Fir2IrSpecificBytecodeListingTestGenerated"
|
||||
testClass<AbstractFirLightTreeBytecodeListingTest>(
|
||||
suiteTestClassName = "FirLightTreeSpecificBytecodeListingTestGenerated"
|
||||
) {
|
||||
model("codegen/bytecodeListing")
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsiBytecodeListingTest>(
|
||||
suiteTestClassName = "Fir2IrSpecificBytecodeListingPsiTestGenerated"
|
||||
suiteTestClassName = "FirPsiSpecificBytecodeListingTestGenerated"
|
||||
) {
|
||||
model("codegen/bytecodeListing")
|
||||
}
|
||||
}
|
||||
|
||||
testGroup("compiler/fir/analysis-tests/tests-gen", "compiler/fir/analysis-tests/testData") {
|
||||
testClass<AbstractFirDiagnosticTest> {
|
||||
testClass<AbstractFirPsiDiagnosticTest> {
|
||||
model("resolve", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||
model("resolveWithStdlib", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||
}
|
||||
|
||||
testClass<AbstractFirDiagnosticsWithLightTreeTest> {
|
||||
testClass<AbstractFirLightTreeDiagnosticsTest> {
|
||||
model("resolve", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||
model("resolveWithStdlib", pattern = TestGeneratorUtil.KT_WITHOUT_DOTS_IN_NAME)
|
||||
}
|
||||
}
|
||||
|
||||
testGroup(testsRoot = "compiler/fir/fir2ir/tests-gen", testDataRoot = "compiler/testData") {
|
||||
testClass<AbstractFir2IrTextTest> {
|
||||
testClass<AbstractFirLightTreeIrTextTest> {
|
||||
model("ir/irText")
|
||||
}
|
||||
|
||||
testClass<AbstractFirPsi2IrTextTest> {
|
||||
testClass<AbstractFirPsiIrTextTest> {
|
||||
model("ir/irText")
|
||||
}
|
||||
|
||||
testClass<AbstractFirBytecodeTextTest> {
|
||||
testClass<AbstractFirLightTreeBytecodeTextTest> {
|
||||
model("codegen/bytecodeText")
|
||||
}
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
|
||||
Generated
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.spec.utils.GeneralConfiguration.SPEC_TEST_PATH
|
||||
import org.jetbrains.kotlin.spec.utils.GeneralConfiguration.TESTS_MAP_FILENAME
|
||||
import org.jetbrains.kotlin.spec.utils.SectionsJsonMapGenerator
|
||||
import org.jetbrains.kotlin.spec.utils.TestsJsonMapGenerator
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTestSpec
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTestSpec
|
||||
import org.jetbrains.kotlin.test.utils.CUSTOM_TEST_DATA_EXTENSION_PATTERN
|
||||
import java.io.File
|
||||
import java.nio.file.Files
|
||||
@@ -65,7 +65,7 @@ fun generateTests() {
|
||||
|
||||
generateTestGroupSuiteWithJUnit5 {
|
||||
testGroup(testsRoot = "compiler/fir/analysis-tests/tests-gen", testDataRoot = SPEC_TESTDATA_PATH) {
|
||||
testClass<AbstractFirDiagnosticTestSpec> {
|
||||
testClass<AbstractFirPsiDiagnosticTestSpec> {
|
||||
model(
|
||||
"diagnostics",
|
||||
excludeDirs = listOf("helpers") + detectDirsWithTestsMapFileOnly("diagnostics"),
|
||||
|
||||
@@ -14,12 +14,12 @@ import org.jetbrains.kotlin.android.synthetic.test.AbstractAndroidBoxTest
|
||||
import org.jetbrains.kotlin.android.synthetic.test.AbstractAndroidBytecodeShapeTest
|
||||
import org.jetbrains.kotlin.android.synthetic.test.AbstractAndroidIrBoxTest
|
||||
import org.jetbrains.kotlin.android.synthetic.test.AbstractAndroidSyntheticPropertyDescriptorTest
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractFirBlackBoxCodegenTestForAssignmentPlugin
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractFirAssignmentPluginDiagnosticTest
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractIrBlackBoxCodegenTestAssignmentPlugin
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractAssignmentPluginDiagnosticTest
|
||||
import org.jetbrains.kotlin.fir.plugin.runners.AbstractFirPluginBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.fir.plugin.runners.AbstractFirPluginDiagnosticTest
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractFirLightTreeBlackBoxCodegenTestForAssignmentPlugin
|
||||
import org.jetbrains.kotlin.assignment.plugin.AbstractFirPsiAssignmentPluginDiagnosticTest
|
||||
import org.jetbrains.kotlin.fir.plugin.runners.AbstractFirLightTreePluginBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.fir.plugin.runners.AbstractFirPsiPluginDiagnosticTest
|
||||
import org.jetbrains.kotlin.generators.generateTestGroupSuiteWithJUnit5
|
||||
import org.jetbrains.kotlin.generators.impl.generateTestGroupSuite
|
||||
import org.jetbrains.kotlin.generators.model.annotation
|
||||
@@ -226,7 +226,7 @@ fun main(args: Array<String>) {
|
||||
model("box")
|
||||
}
|
||||
|
||||
testClass<AbstractParcelizeFirBoxTest> {
|
||||
testClass<AbstractParcelizeFirLightTreeBoxTest> {
|
||||
model("box")
|
||||
}
|
||||
|
||||
@@ -242,17 +242,17 @@ fun main(args: Array<String>) {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFirParcelizeDiagnosticTest> {
|
||||
testClass<AbstractFirPsiParcelizeDiagnosticTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
}
|
||||
|
||||
testGroup("plugins/fir-plugin-prototype/tests-gen", "plugins/fir-plugin-prototype/testData") {
|
||||
testClass<AbstractFirPluginDiagnosticTest> {
|
||||
testClass<AbstractFirPsiPluginDiagnosticTest> {
|
||||
model("diagnostics")
|
||||
}
|
||||
|
||||
testClass<AbstractFirPluginBlackBoxCodegenTest> {
|
||||
testClass<AbstractFirLightTreePluginBlackBoxCodegenTest> {
|
||||
model("box")
|
||||
}
|
||||
}
|
||||
@@ -284,13 +284,13 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractIrBytecodeListingTestForAllOpen> {
|
||||
model("bytecodeListing", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirBytecodeListingTestForAllOpen> {
|
||||
testClass<AbstractFirPsiBytecodeListingTestForAllOpen> {
|
||||
model("bytecodeListing", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirDiagnosticTestForAllOpen>() {
|
||||
testClass<AbstractFirLightTreeDiagnosticTestForAllOpen> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirDiagnosticsWithLightTreeTestForAllOpen>() {
|
||||
testClass<AbstractFirPsiDiagnosticTestForAllOpen> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
}
|
||||
@@ -299,7 +299,7 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractDiagnosticsTestForNoArg> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirDiagnosticsTestForNoArg> {
|
||||
testClass<AbstractFirPsiDiagnosticsTestForNoArg> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractBytecodeListingTestForNoArg> {
|
||||
@@ -308,7 +308,7 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractIrBytecodeListingTestForNoArg> {
|
||||
model("bytecodeListing", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirBytecodeListingTestForNoArg> {
|
||||
testClass<AbstractFirLightTreeBytecodeListingTestForNoArg> {
|
||||
model("bytecodeListing", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractBlackBoxCodegenTestForNoArg> {
|
||||
@@ -317,7 +317,7 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractIrBlackBoxCodegenTestForNoArg> {
|
||||
model("box")
|
||||
}
|
||||
testClass<AbstractFirBlackBoxCodegenTestForNoArg> {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTestForNoArg> {
|
||||
model("box")
|
||||
}
|
||||
}
|
||||
@@ -329,13 +329,13 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractIrBlackBoxCodegenTestForLombok> {
|
||||
model("box")
|
||||
}
|
||||
testClass<AbstractFirBlackBoxCodegenTestForLombok> {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTestForLombok> {
|
||||
model("box")
|
||||
}
|
||||
testClass<AbstractDiagnosticTestForLombok> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirDiagnosticTestForLombok> {
|
||||
testClass<AbstractFirPsiDiagnosticTestForLombok> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
}
|
||||
@@ -344,13 +344,13 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractSamWithReceiverTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirSamWithReceiverTest> {
|
||||
testClass<AbstractFirPsiSamWithReceiverDiagnosticTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractIrBlackBoxCodegenTestForSamWithReceiver> {
|
||||
model("codegen", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirBlackBoxCodegenTestForSamWithReceiver> {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTestForSamWithReceiver> {
|
||||
model("codegen", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
}
|
||||
@@ -388,13 +388,13 @@ fun main(args: Array<String>) {
|
||||
testClass<AbstractAssignmentPluginDiagnosticTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirAssignmentPluginDiagnosticTest> {
|
||||
testClass<AbstractFirPsiAssignmentPluginDiagnosticTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractIrBlackBoxCodegenTestAssignmentPlugin> {
|
||||
model("codegen", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
testClass<AbstractFirBlackBoxCodegenTestForAssignmentPlugin> {
|
||||
testClass<AbstractFirLightTreeBlackBoxCodegenTestForAssignmentPlugin> {
|
||||
model("codegen", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.js.test.ir.*
|
||||
import org.jetbrains.kotlin.js.testOld.AbstractDceTest
|
||||
import org.jetbrains.kotlin.js.testOld.compatibility.binary.AbstractJsKlibBinaryCompatibilityTest
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFir2IrJsTextTest
|
||||
import org.jetbrains.kotlin.test.runners.ir.AbstractFirLightTreeIrJsTextTest
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
System.setProperty("java.awt.headless", "true")
|
||||
@@ -170,12 +170,12 @@ fun main(args: Array<String>) {
|
||||
model("debug/localVariables")
|
||||
}
|
||||
|
||||
testClass<AbstractFirJsDiagnosticTest>(suiteTestClassName = "FirJsOldFrontendDiagnosticsTestGenerated") {
|
||||
testClass<AbstractFirPsiJsDiagnosticTest>(suiteTestClassName = "FirPsiJsOldFrontendDiagnosticsTestGenerated") {
|
||||
model("diagnostics/testsWithJsStdLib", pattern = "^([^_](.+))\\.kt$", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractFir2IrJsTextTest>(
|
||||
suiteTestClassName = "Fir2IrJsTextTestGenerated"
|
||||
testClass<AbstractFirLightTreeIrJsTextTest>(
|
||||
suiteTestClassName = "FirLightTreeJsIrTextTestGenerated"
|
||||
) {
|
||||
model("ir/irJsText")
|
||||
}
|
||||
|
||||
+7
-1
@@ -7,10 +7,12 @@ package org.jetbrains.kotlin.js.test.fir
|
||||
|
||||
import org.jetbrains.kotlin.js.test.JsAdditionalSourceProvider
|
||||
import org.jetbrains.kotlin.platform.js.JsPlatforms
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.firHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade
|
||||
import org.jetbrains.kotlin.test.frontend.fir.handlers.*
|
||||
import org.jetbrains.kotlin.test.model.DependencyKind
|
||||
@@ -22,7 +24,7 @@ import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigu
|
||||
import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.services.sourceProviders.CoroutineHelpersSourceFilesProvider
|
||||
|
||||
abstract class AbstractFirJsDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
abstract class AbstractFirJsDiagnosticTestBase(val parser: FirParser) : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
globalDefaults {
|
||||
frontend = FrontendKinds.FIR
|
||||
@@ -35,6 +37,8 @@ abstract class AbstractFirJsDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
DiagnosticsDirectives.DIAGNOSTICS with listOf("-warnings", "-infos")
|
||||
}
|
||||
|
||||
configureFirParser(parser)
|
||||
|
||||
enableMetaInfoHandler()
|
||||
configurationForClassicAndFirTestsAlongside()
|
||||
|
||||
@@ -64,3 +68,5 @@ abstract class AbstractFirJsDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiJsDiagnosticTest : AbstractFirJsDiagnosticTestBase(FirParser.Psi)
|
||||
@@ -7,10 +7,12 @@ import org.jetbrains.kotlin.js.test.converters.incremental.RecompileModuleJsIrBa
|
||||
import org.jetbrains.kotlin.js.test.handlers.JsIrRecompiledArtifactsIdentityHandler
|
||||
import org.jetbrains.kotlin.parsing.parseBoolean
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.builders.*
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
|
||||
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives
|
||||
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrJsResultsConverter
|
||||
@@ -59,6 +61,7 @@ open class AbstractFirJsTest(
|
||||
+LanguageSettingsDirectives.ALLOW_KOTLIN_PACKAGE
|
||||
-JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER
|
||||
DiagnosticsDirectives.DIAGNOSTICS with listOf("-infos")
|
||||
FirDiagnosticsDirectives.FIR_PARSER with FirParser.Psi
|
||||
}
|
||||
|
||||
firHandlersStep {
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/diagnostics/testsWithJsStdLib")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirJsOldFrontendDiagnosticsTestGenerated extends AbstractFirJsDiagnosticTest {
|
||||
public class FirPsiJsOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiJsDiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInTestsWithJsStdLib() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/diagnostics/testsWithJsStdLib"), Pattern.compile("^([^_](.+))\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/ir/irJsText")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class Fir2IrJsTextTestGenerated extends AbstractFir2IrJsTextTest {
|
||||
public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeIrJsTextTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInIrJsText() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/ir/irJsText"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+8
-1
@@ -17,12 +17,14 @@
|
||||
package org.jetbrains.kotlin.allopen
|
||||
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.classic.ClassicBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.classic.ClassicJvmBackendFacade
|
||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -69,7 +71,7 @@ open class AbstractIrBytecodeListingTestForAllOpen :
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
open class AbstractFirBytecodeListingTestForAllOpen :
|
||||
open class AbstractFirPsiBytecodeListingTestForAllOpen :
|
||||
AbstractBytecodeListingTestForAllOpenBase<FirOutputArtifact, IrBackendInput>(
|
||||
TargetBackend.JVM_IR, FrontendKinds.FIR
|
||||
) {
|
||||
@@ -79,4 +81,9 @@ open class AbstractFirBytecodeListingTestForAllOpen :
|
||||
get() = ::Fir2IrResultsConverter
|
||||
override val backendFacade: Constructor<BackendFacade<IrBackendInput, BinaryArtifacts.Jvm>>
|
||||
get() = ::JvmIrBackendFacade
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureFirParser(FirParser.Psi)
|
||||
}
|
||||
}
|
||||
|
||||
+5
-14
@@ -17,11 +17,11 @@
|
||||
package org.jetbrains.kotlin.allopen
|
||||
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTestBase
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
|
||||
abstract class AbstractFirDiagnosticTestForAllOpen : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirDiagnosticTestForAllOpenBase(parser: FirParser) : AbstractFirDiagnosticTestBase(parser) {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
|
||||
@@ -32,14 +32,5 @@ abstract class AbstractFirDiagnosticTestForAllOpen : AbstractFirDiagnosticTest()
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirDiagnosticsWithLightTreeTestForAllOpen : AbstractFirDiagnosticTestForAllOpen() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
+FirDiagnosticsDirectives.USE_LIGHT_TREE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
abstract class AbstractFirPsiDiagnosticTestForAllOpen : AbstractFirDiagnosticTestForAllOpenBase(FirParser.Psi)
|
||||
abstract class AbstractFirLightTreeDiagnosticTestForAllOpen : AbstractFirDiagnosticTestForAllOpenBase(FirParser.LightTree)
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/allopen/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticsWithLightTreeTestForAllOpenGenerated extends AbstractFirDiagnosticsWithLightTreeTestForAllOpen {
|
||||
public class FirLightTreeDiagnosticTestForAllOpenGenerated extends AbstractFirLightTreeDiagnosticTestForAllOpen {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/allopen/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/allopen/testData/bytecodeListing")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBytecodeListingTestForAllOpenGenerated extends AbstractFirBytecodeListingTestForAllOpen {
|
||||
public class FirPsiBytecodeListingTestForAllOpenGenerated extends AbstractFirPsiBytecodeListingTestForAllOpen {
|
||||
@Test
|
||||
public void testAllFilesPresentInBytecodeListing() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/allopen/testData/bytecodeListing"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/allopen/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticTestForAllOpenGenerated extends AbstractFirDiagnosticTestForAllOpen {
|
||||
public class FirPsiDiagnosticTestForAllOpenGenerated extends AbstractFirPsiDiagnosticTestForAllOpen {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/allopen/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+4
-4
@@ -16,8 +16,8 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.RENDER_DIAGNOSTICS_FULL_TEXT
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
@@ -33,7 +33,7 @@ abstract class AbstractAssignmentPluginDiagnosticTest : AbstractDiagnosticTest()
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirAssignmentPluginDiagnosticTest : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirPsiAssignmentPluginDiagnosticTest : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
@@ -51,7 +51,7 @@ open class AbstractIrBlackBoxCodegenTestAssignmentPlugin : AbstractIrBlackBoxCod
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTestForAssignmentPlugin : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreeBlackBoxCodegenTestForAssignmentPlugin : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/assign-plugin/testData/codegen")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxCodegenTestForAssignmentPluginGenerated extends AbstractFirBlackBoxCodegenTestForAssignmentPlugin {
|
||||
public class FirLightTreeBlackBoxCodegenTestForAssignmentPluginGenerated extends AbstractFirLightTreeBlackBoxCodegenTestForAssignmentPlugin {
|
||||
@Test
|
||||
public void testAllFilesPresentInCodegen() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/assign-plugin/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/assign-plugin/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirAssignmentPluginDiagnosticTestGenerated extends AbstractFirAssignmentPluginDiagnosticTest {
|
||||
public class FirPsiAssignmentPluginDiagnosticTestGenerated extends AbstractFirPsiAssignmentPluginDiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/assign-plugin/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/fir-plugin-prototype/testData/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirPluginBlackBoxCodegenTestGenerated extends AbstractFirPluginBlackBoxCodegenTest {
|
||||
public class FirLightTreePluginBlackBoxCodegenTestGenerated extends AbstractFirLightTreePluginBlackBoxCodegenTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/fir-plugin-prototype/testData/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/fir-plugin-prototype/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirPluginDiagnosticTestGenerated extends AbstractFirPluginDiagnosticTest {
|
||||
public class FirPsiPluginDiagnosticTestGenerated extends AbstractFirPsiPluginDiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/fir-plugin-prototype/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), null, true);
|
||||
+4
-4
@@ -10,18 +10,18 @@ import org.jetbrains.kotlin.fir.plugin.services.PluginAnnotationsProvider
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
|
||||
|
||||
open class AbstractFirPluginBlackBoxCodegenTest : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreePluginBlackBoxCodegenTest : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.commonFirWithPluginFrontendConfiguration()
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPluginDiagnosticTest : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirPsiPluginDiagnosticTest : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.commonFirWithPluginFrontendConfiguration()
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/kotlinx-serialization/testData/codegen")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class SerializationFir2IrAsmLikeInstructionsListingTestGenerated extends AbstractSerializationFir2IrAsmLikeInstructionsListingTest {
|
||||
public class SerializationFirLightTreeAsmLikeInstructionsListingTestGenerated extends AbstractSerializationFirLightTreeAsmLikeInstructionsListingTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInCodegen() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/kotlinx-serialization/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlinx.serialization.TestGeneratorKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class SerializationFirBlackBoxTestGenerated extends AbstractSerializationFirBlackBoxTest {
|
||||
public class SerializationFirLightTreeBlackBoxTestGenerated extends AbstractSerializationFirLightTreeBlackBoxTest {
|
||||
@Nested
|
||||
@TestMetadata("plugins/kotlinx-serialization/testData/boxIr")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+1
-1
@@ -16,7 +16,7 @@ import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.kotlinx.serialization.TestGeneratorKt}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
public class SerializationFirDiagnosticTestGenerated extends AbstractSerializationFirDiagnosticTest {
|
||||
public class SerializationFirPsiDiagnosticTestGenerated extends AbstractSerializationFirPsiDiagnosticTest {
|
||||
@Nested
|
||||
@TestMetadata("plugins/kotlinx-serialization/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
+3
-3
@@ -23,7 +23,7 @@ fun main(args: Array<String>) {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
}
|
||||
|
||||
testClass<AbstractSerializationFirDiagnosticTest> {
|
||||
testClass<AbstractSerializationFirPsiDiagnosticTest> {
|
||||
model("diagnostics", excludedPattern = excludedFirTestdataPattern)
|
||||
model("firMembers")
|
||||
}
|
||||
@@ -38,7 +38,7 @@ fun main(args: Array<String>) {
|
||||
model("codegen")
|
||||
}
|
||||
|
||||
testClass<AbstractSerializationFir2IrAsmLikeInstructionsListingTest> {
|
||||
testClass<AbstractSerializationFirLightTreeAsmLikeInstructionsListingTest> {
|
||||
model("codegen")
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ fun main(args: Array<String>) {
|
||||
model("boxIr")
|
||||
}
|
||||
|
||||
testClass<AbstractSerializationFirBlackBoxTest> {
|
||||
testClass<AbstractSerializationFirLightTreeBlackBoxTest> {
|
||||
model("boxIr")
|
||||
model("firMembers")
|
||||
}
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ package org.jetbrains.kotlinx.serialization.runners
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.AsmLikeInstructionListingDirectives
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractAsmLikeInstructionListingTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirAsmLikeInstructionListingTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeAsmLikeInstructionListingTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrAsmLikeInstructionListingTest
|
||||
import org.jetbrains.kotlinx.serialization.configureForKotlinxSerialization
|
||||
|
||||
@@ -28,7 +28,7 @@ open class AbstractSerializationIrAsmLikeInstructionsListingTest : AbstractIrAsm
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractSerializationFir2IrAsmLikeInstructionsListingTest : AbstractFirAsmLikeInstructionListingTest() {
|
||||
open class AbstractSerializationFirLightTreeAsmLikeInstructionsListingTest : AbstractFirLightTreeAsmLikeInstructionListingTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.defaultDirectives {
|
||||
|
||||
+2
-3
@@ -6,8 +6,7 @@
|
||||
package org.jetbrains.kotlinx.serialization.runners
|
||||
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlinx.serialization.configureForKotlinxSerialization
|
||||
|
||||
@@ -25,7 +24,7 @@ open class AbstractSerializationWithoutRuntimeIrBoxTest : AbstractIrBlackBoxCode
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractSerializationFirBlackBoxTest : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractSerializationFirLightTreeBlackBoxTest : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureForKotlinxSerialization()
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.DIAGNOSTICS
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_DUMP
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
import org.jetbrains.kotlinx.serialization.configureForKotlinxSerialization
|
||||
|
||||
@@ -23,7 +23,7 @@ abstract class AbstractSerializationPluginDiagnosticTest : AbstractDiagnosticTes
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractSerializationFirDiagnosticTest : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractSerializationFirPsiDiagnosticTest : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/lombok/testData/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxCodegenTestForLombokGenerated extends AbstractFirBlackBoxCodegenTestForLombok {
|
||||
public class FirLightTreeBlackBoxCodegenTestForLombokGenerated extends AbstractFirLightTreeBlackBoxCodegenTestForLombok {
|
||||
@Test
|
||||
@TestMetadata("accessorsStripPrefix.kt")
|
||||
public void testAccessorsStripPrefix() throws Exception {
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/lombok/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticTestForLombokGenerated extends AbstractFirDiagnosticTestForLombok {
|
||||
public class FirPsiDiagnosticTestForLombokGenerated extends AbstractFirPsiDiagnosticTestForLombok {
|
||||
@Test
|
||||
@TestMetadata("accessorsStripPrefixCombined.kt")
|
||||
public void testAccessorsStripPrefixCombined() throws Exception {
|
||||
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.lombok
|
||||
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
|
||||
@@ -29,7 +29,7 @@ open class AbstractIrBlackBoxCodegenTestForLombok : AbstractIrBlackBoxCodegenTes
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTestForLombok : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreeBlackBoxCodegenTestForLombok : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.enableLombok()
|
||||
@@ -45,7 +45,7 @@ open class AbstractDiagnosticTestForLombok : AbstractDiagnosticTest() {
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirDiagnosticTestForLombok : AbstractFirDiagnosticTest() {
|
||||
open class AbstractFirPsiDiagnosticTestForLombok : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurationForClassicAndFirTestsAlongside()
|
||||
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.*
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
@@ -34,7 +34,7 @@ open class AbstractIrBlackBoxCodegenTestForNoArg : AbstractIrBlackBoxCodegenTest
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTestForNoArg : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreeBlackBoxCodegenTestForNoArg : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.enableNoArg()
|
||||
@@ -57,7 +57,7 @@ open class AbstractIrBytecodeListingTestForNoArg : AbstractIrBytecodeListingTest
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBytecodeListingTestForNoArg : AbstractFirBytecodeListingTest() {
|
||||
open class AbstractFirLightTreeBytecodeListingTestForNoArg : AbstractFirLightTreeBytecodeListingTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.enableNoArg()
|
||||
@@ -73,7 +73,7 @@ abstract class AbstractDiagnosticsTestForNoArg : AbstractDiagnosticTest() {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirDiagnosticsTestForNoArg : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirPsiDiagnosticsTestForNoArg : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurationForClassicAndFirTestsAlongside()
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/noarg/testData/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxCodegenTestForNoArgGenerated extends AbstractFirBlackBoxCodegenTestForNoArg {
|
||||
public class FirLightTreeBlackBoxCodegenTestForNoArgGenerated extends AbstractFirLightTreeBlackBoxCodegenTestForNoArg {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/noarg/testData/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/noarg/testData/bytecodeListing")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBytecodeListingTestForNoArgGenerated extends AbstractFirBytecodeListingTestForNoArg {
|
||||
public class FirLightTreeBytecodeListingTestForNoArgGenerated extends AbstractFirLightTreeBytecodeListingTestForNoArg {
|
||||
@Test
|
||||
public void testAllFilesPresentInBytecodeListing() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/noarg/testData/bytecodeListing"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/noarg/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirDiagnosticsTestForNoArgGenerated extends AbstractFirDiagnosticsTestForNoArg {
|
||||
public class FirPsiDiagnosticsTestForNoArgGenerated extends AbstractFirPsiDiagnosticsTestForNoArg {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/noarg/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/parcelize/parcelize-compiler/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirParcelizeDiagnosticTestGenerated extends AbstractFirParcelizeDiagnosticTest {
|
||||
public class FirPsiParcelizeDiagnosticTestGenerated extends AbstractFirPsiParcelizeDiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-compiler/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/parcelize/parcelize-compiler/testData/box")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class ParcelizeFirBoxTestGenerated extends AbstractParcelizeFirBoxTest {
|
||||
public class ParcelizeFirLightTreeBoxTestGenerated extends AbstractParcelizeFirLightTreeBoxTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInBox() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-compiler/testData/box"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true);
|
||||
+5
-1
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.parcelize.test.runners
|
||||
|
||||
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeEnvironmentConfigurator
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.frontend.fir.FirFailingTestSuppressor
|
||||
@@ -15,13 +16,14 @@ import org.jetbrains.kotlin.test.runners.baseFirDiagnosticTestConfiguration
|
||||
import org.jetbrains.kotlin.test.runners.enableLazyResolvePhaseChecking
|
||||
import org.jetbrains.kotlin.test.services.fir.FirOldFrontendMetaConfigurator
|
||||
|
||||
abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest() {
|
||||
abstract class AbstractFirParcelizeDiagnosticTestBase(val parser: FirParser) : AbstractKotlinCompilerTest() {
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
baseFirDiagnosticTestConfiguration()
|
||||
enableLazyResolvePhaseChecking()
|
||||
|
||||
defaultDirectives {
|
||||
+FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
|
||||
FirDiagnosticsDirectives.FIR_PARSER with parser
|
||||
}
|
||||
|
||||
useConfigurators(::ParcelizeEnvironmentConfigurator)
|
||||
@@ -34,3 +36,5 @@ abstract class AbstractFirParcelizeDiagnosticTest : AbstractKotlinCompilerTest()
|
||||
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirPsiParcelizeDiagnosticTest : AbstractFirParcelizeDiagnosticTestBase(FirParser.Psi)
|
||||
+6
-1
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.parcelize.test.services.ParcelizeMainClassProvider
|
||||
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeRuntimeClasspathProvider
|
||||
import org.jetbrains.kotlin.parcelize.test.services.ParcelizeUtilSourcesProvider
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
|
||||
import org.jetbrains.kotlin.test.backend.classic.ClassicBackendInput
|
||||
@@ -23,6 +24,7 @@ import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
|
||||
import org.jetbrains.kotlin.test.builders.configureIrHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.REQUIRES_SEPARATE_PROCESS
|
||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives.REPORT_ONLY_EXPLICITLY_DEFINED_DEBUG_INFO
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.ENABLE_PLUGIN_PHASES
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
@@ -116,7 +118,7 @@ open class AbstractParcelizeIrBoxTest : AbstractParcelizeBoxTestBase<ClassicFron
|
||||
get() = ::JvmIrBackendFacade
|
||||
}
|
||||
|
||||
open class AbstractParcelizeFirBoxTest : AbstractParcelizeBoxTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
abstract class AbstractParcelizeFirBoxTestBase(val parser: FirParser) : AbstractParcelizeBoxTestBase<FirOutputArtifact, IrBackendInput>(
|
||||
FrontendKinds.FIR,
|
||||
TargetBackend.JVM_IR
|
||||
) {
|
||||
@@ -133,7 +135,10 @@ open class AbstractParcelizeFirBoxTest : AbstractParcelizeBoxTestBase<FirOutputA
|
||||
with(builder) {
|
||||
defaultDirectives {
|
||||
+ENABLE_PLUGIN_PHASES
|
||||
FirDiagnosticsDirectives.FIR_PARSER with parser
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractParcelizeFirLightTreeBoxTest : AbstractParcelizeFirBoxTestBase(FirParser.LightTree)
|
||||
|
||||
+4
-4
@@ -13,8 +13,8 @@ import org.jetbrains.kotlin.samWithReceiver.k2.FirSamWithReceiverExtensionRegist
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.runners.AbstractDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.AbstractFirPsiDiagnosticTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractFirLightTreeBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.codegen.AbstractIrBlackBoxCodegenTest
|
||||
import org.jetbrains.kotlin.test.runners.configurationForClassicAndFirTestsAlongside
|
||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||
@@ -31,7 +31,7 @@ abstract class AbstractSamWithReceiverTest : AbstractDiagnosticTest() {
|
||||
}
|
||||
}
|
||||
|
||||
abstract class AbstractFirSamWithReceiverTest : AbstractFirDiagnosticTest() {
|
||||
abstract class AbstractFirPsiSamWithReceiverDiagnosticTest : AbstractFirPsiDiagnosticTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
@@ -50,7 +50,7 @@ open class AbstractIrBlackBoxCodegenTestForSamWithReceiver : AbstractIrBlackBoxC
|
||||
}
|
||||
}
|
||||
|
||||
open class AbstractFirBlackBoxCodegenTestForSamWithReceiver : AbstractFirBlackBoxCodegenTest() {
|
||||
open class AbstractFirLightTreeBlackBoxCodegenTestForSamWithReceiver : AbstractFirLightTreeBlackBoxCodegenTest() {
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configurePlugin()
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/sam-with-receiver/testData/codegen")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirBlackBoxCodegenTestForSamWithReceiverGenerated extends AbstractFirBlackBoxCodegenTestForSamWithReceiver {
|
||||
public class FirLightTreeBlackBoxCodegenTestForSamWithReceiverGenerated extends AbstractFirLightTreeBlackBoxCodegenTestForSamWithReceiver {
|
||||
@Test
|
||||
public void testAllFilesPresentInCodegen() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/sam-with-receiver/testData/codegen"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), TargetBackend.JVM_IR, true);
|
||||
+1
-1
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("plugins/sam-with-receiver/testData/diagnostics")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
public class FirSamWithReceiverTestGenerated extends AbstractFirSamWithReceiverTest {
|
||||
public class FirPsiSamWithReceiverDiagnosticTestGenerated extends AbstractFirPsiSamWithReceiverDiagnosticTest {
|
||||
@Test
|
||||
public void testAllFilesPresentInDiagnostics() throws Exception {
|
||||
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/sam-with-receiver/testData/diagnostics"), Pattern.compile("^(.+)\\.kt$"), Pattern.compile("^(.+)\\.fir\\.kts?$"), true);
|
||||
Reference in New Issue
Block a user