// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.k2.refactoring.introduce.introduceVariable;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("refactorings/kotlin.refactorings.tests.k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../../idea/tests/testData/refactoring/introduceVariable")
public abstract class K2IntroduceVariableTestGenerated extends AbstractK2IntroduceVariableTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects")
    public static class AnonymousObjects extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("ClassProperty.kt")
        public void testClassProperty() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/ClassProperty.kt");
        }

        @TestMetadata("ClassPropertyAmbiguous.kt")
        public void testClassPropertyAmbiguous() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/ClassPropertyAmbiguous.kt");
        }

        @TestMetadata("DefaultParamLocal.kt")
        public void testDefaultParamLocal() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/DefaultParamLocal.kt");
        }

        @TestMetadata("DefaultParamNonLocal.kt")
        public void testDefaultParamNonLocal() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/DefaultParamNonLocal.kt");
        }

        @TestMetadata("DefaultParamNonLocalAmbiguous.kt")
        public void testDefaultParamNonLocalAmbiguous() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/DefaultParamNonLocalAmbiguous.kt");
        }

        @TestMetadata("DelegationLocal.kt")
        public void testDelegationLocal() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/DelegationLocal.kt");
        }

        @TestMetadata("DelegationNonLocal.kt")
        public void testDelegationNonLocal() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/DelegationNonLocal.kt");
        }

        @TestMetadata("NoContext.kt")
        public void testNoContext() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/NoContext.kt");
        }

        @TestMetadata("NoSupertypes.kt")
        public void testNoSupertypes() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/NoSupertypes.kt");
        }

        @TestMetadata("Param.kt")
        public void testParam() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/anonymousObjects/Param.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/collectionElement")
    public static class CollectionElement extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("errorType.kt")
        public void testErrorType() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/errorType.kt");
        }

        @TestMetadata("flexibleType.kt")
        public void testFlexibleType() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/flexibleType.kt");
        }

        @TestMetadata("flexibleType2.kt")
        public void testFlexibleType2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/flexibleType2.kt");
        }

        @TestMetadata("typeParameterType.kt")
        public void testTypeParameterType() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/typeParameterType.kt");
        }

        @TestMetadata("typeParameterType2.kt")
        public void testTypeParameterType2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/typeParameterType2.kt");
        }

        @TestMetadata("typeParameterType3.kt")
        public void testTypeParameterType3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/collectionElement/typeParameterType3.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments")
    public abstract static class ExplicateTypeArguments extends AbstractK2IntroduceVariableTest {
        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/smartCast")
        public static class SmartCast extends AbstractK2IntroduceVariableTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
            }

            @TestMetadata("smartCastSimple.kt")
            public void testSmartCastSimple() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/smartCast/smartCastSimple.kt");
            }

            @TestMetadata("smartCastWithIntersectionType.kt")
            public void testSmartCastWithIntersectionType() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/smartCast/smartCastWithIntersectionType.kt");
            }
        }

        @RunWith(JUnit3RunnerWithInners.class)
        @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments")
        public static class Uncategorized extends AbstractK2IntroduceVariableTest {
            @java.lang.Override
            @org.jetbrains.annotations.NotNull
            public final KotlinPluginMode getPluginMode() {
                return KotlinPluginMode.K2;
            }

            private void runTest(String testDataFilePath) throws Exception {
                KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
            }

            @TestMetadata("DeeperNestedCall.kt")
            public void testDeeperNestedCall() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/DeeperNestedCall.kt");
            }

            @TestMetadata("NestedCall.kt")
            public void testNestedCall() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/NestedCall.kt");
            }

            @TestMetadata("Parenthesized.kt")
            public void testParenthesized() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/Parenthesized.kt");
            }

            @TestMetadata("Qualified.kt")
            public void testQualified() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/Qualified.kt");
            }

            @TestMetadata("Simple.kt")
            public void testSimple() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/Simple.kt");
            }

            @TestMetadata("UnmatchedOccurrences.kt")
            public void testUnmatchedOccurrences() throws Exception {
                runTest("../../idea/tests/testData/refactoring/introduceVariable/explicateTypeArguments/UnmatchedOccurrences.kt");
            }
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/extractToScope")
    public static class ExtractToScope extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("implicitOuterThisInsideNestedLamba.kt")
        public void testImplicitOuterThisInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/implicitOuterThisInsideNestedLamba.kt");
        }

        @TestMetadata("implicitThisInsideNestedLamba.kt")
        public void testImplicitThisInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/implicitThisInsideNestedLamba.kt");
        }

        @TestMetadata("insideFunExpression.kt")
        public void testInsideFunExpression() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideFunExpression.kt");
        }

        @TestMetadata("insideFunExpressionWithBlock.kt")
        public void testInsideFunExpressionWithBlock() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideFunExpressionWithBlock.kt");
        }

        @TestMetadata("insideLamba.kt")
        public void testInsideLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideLamba.kt");
        }

        @TestMetadata("insideNestedFunExpression.kt")
        public void testInsideNestedFunExpression() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideNestedFunExpression.kt");
        }

        @TestMetadata("insideNestedFunExpressionInLambda.kt")
        public void testInsideNestedFunExpressionInLambda() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideNestedFunExpressionInLambda.kt");
        }

        @TestMetadata("insideNestedLamba.kt")
        public void testInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideNestedLamba.kt");
        }

        @TestMetadata("insideNestedLambdaAllOccurrences.kt")
        public void testInsideNestedLambdaAllOccurrences() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideNestedLambdaAllOccurrences.kt");
        }

        @TestMetadata("insideNestedLambdaInFunExpression.kt")
        public void testInsideNestedLambdaInFunExpression() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/insideNestedLambdaInFunExpression.kt");
        }

        @TestMetadata("itInsideNestedLamba.kt")
        public void testItInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/itInsideNestedLamba.kt");
        }

        @TestMetadata("outerItInsideNestedLamba.kt")
        public void testOuterItInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/outerItInsideNestedLamba.kt");
        }

        @TestMetadata("parameterInsideNestedLamba.kt")
        public void testParameterInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/parameterInsideNestedLamba.kt");
        }

        @TestMetadata("unresolvedInsideNestedLamba.kt")
        public void testUnresolvedInsideNestedLamba() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/unresolvedInsideNestedLamba.kt");
        }

        @TestMetadata("variableInsideNestedLambda.kt")
        public void testVariableInsideNestedLambda() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/extractToScope/variableInsideNestedLambda.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations")
    public static class MultiDeclarations extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("array.kt")
        public void testArray() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/array.kt");
        }

        @TestMetadata("complexCase.kt")
        public void testComplexCase() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/complexCase.kt");
        }

        @TestMetadata("intArray.kt")
        public void testIntArray() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/intArray.kt");
        }

        @TestMetadata("list.kt")
        public void testList() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/list.kt");
        }

        @TestMetadata("notOperators.kt")
        public void testNotOperators() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/notOperators.kt");
        }

        @TestMetadata("singleComponent.kt")
        public void testSingleComponent() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/singleComponent.kt");
        }

        @TestMetadata("unresolvedComponent3.kt")
        public void testUnresolvedComponent3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/unresolvedComponent3.kt");
        }

        @TestMetadata("unusedExpr.kt")
        public void testUnusedExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/unusedExpr.kt");
        }

        @TestMetadata("usedExpr.kt")
        public void testUsedExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/usedExpr.kt");
        }

        @TestMetadata("userDataClass.kt")
        public void testUserDataClass() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDeclarations/userDataClass.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates")
    public static class MultiDollarStringTemplates extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("brokenEntryWithBlockExpr.kt")
        public void testBrokenEntryWithBlockExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/brokenEntryWithBlockExpr.kt");
        }

        @TestMetadata("brokenEntryWithExpr.kt")
        public void testBrokenEntryWithExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/brokenEntryWithExpr.kt");
        }

        @TestMetadata("digitAfterSelection.kt")
        public void testDigitAfterSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/digitAfterSelection.kt");
        }

        @TestMetadata("duplicateOutsideTheBlock.kt")
        public void testDuplicateOutsideTheBlock() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/duplicateOutsideTheBlock.kt");
        }

        @TestMetadata("extractFalse.kt")
        public void testExtractFalse() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/extractFalse.kt");
        }

        @TestMetadata("extractIntegerLiteral.kt")
        public void testExtractIntegerLiteral() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/extractIntegerLiteral.kt");
        }

        @TestMetadata("extractTrue.kt")
        public void testExtractTrue() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/extractTrue.kt");
        }

        @TestMetadata("extractTrueWithSpaces.kt")
        public void testExtractTrueWithSpaces() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/extractTrueWithSpaces.kt");
        }

        @TestMetadata("fullContent.kt")
        public void testFullContent() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/fullContent.kt");
        }

        @TestMetadata("fullEntryWithBlockExpr.kt")
        public void testFullEntryWithBlockExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/fullEntryWithBlockExpr.kt");
        }

        @TestMetadata("fullEntryWithSimpleName.kt")
        public void testFullEntryWithSimpleName() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/fullEntryWithSimpleName.kt");
        }

        @TestMetadata("fullStringExtraction.kt")
        public void testFullStringExtraction() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/fullStringExtraction.kt");
        }

        @TestMetadata("letters1.kt")
        public void testLetters1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/letters1.kt");
        }

        @TestMetadata("letters2.kt")
        public void testLetters2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/letters2.kt");
        }

        @TestMetadata("letters3.kt")
        public void testLetters3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/letters3.kt");
        }

        @TestMetadata("multiDollarKtij30272.kt")
        public void testMultiDollarKtij30272() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/multiDollarKtij30272.kt");
        }

        @TestMetadata("multipleEntriesWithPrefix.kt")
        public void testMultipleEntriesWithPrefix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/multipleEntriesWithPrefix.kt");
        }

        @TestMetadata("multipleEntriesWithSubstring.kt")
        public void testMultipleEntriesWithSubstring() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/multipleEntriesWithSubstring.kt");
        }

        @TestMetadata("multipleEntriesWithSuffix.kt")
        public void testMultipleEntriesWithSuffix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/multipleEntriesWithSuffix.kt");
        }

        @TestMetadata("newBlock.kt")
        public void testNewBlock() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/newBlock.kt");
        }

        @TestMetadata("rawTemplateUnescapedDollar.kt")
        public void testRawTemplateUnescapedDollar() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/rawTemplateUnescapedDollar.kt");
        }

        @TestMetadata("rawTemplateWithSubstring.kt")
        public void testRawTemplateWithSubstring() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/rawTemplateWithSubstring.kt");
        }

        @TestMetadata("singleEntryPrefix.kt")
        public void testSingleEntryPrefix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/singleEntryPrefix.kt");
        }

        @TestMetadata("singleEntrySubstring.kt")
        public void testSingleEntrySubstring() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/singleEntrySubstring.kt");
        }

        @TestMetadata("singleEntrySuffix.kt")
        public void testSingleEntrySuffix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/singleEntrySuffix.kt");
        }

        @TestMetadata("singleOccurence.kt")
        public void testSingleOccurence() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/singleOccurence.kt");
        }

        @TestMetadata("underscoreAfter.kt")
        public void testUnderscoreAfter() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/underscoreAfter.kt");
        }

        @TestMetadata("unescapedDollar.kt")
        public void testUnescapedDollar() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/unescapedDollar.kt");
        }

        @TestMetadata("unescapedDollarLetterSuffix.kt")
        public void testUnescapedDollarLetterSuffix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/unescapedDollarLetterSuffix.kt");
        }

        @TestMetadata("unescapedDollarLongPrefix.kt")
        public void testUnescapedDollarLongPrefix() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/multiDollarStringTemplates/unescapedDollarLongPrefix.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/qualifiers")
    public static class Qualifiers extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("callableReferenceReceiverClass1.kt")
        public void testCallableReferenceReceiverClass1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass1.kt");
        }

        @TestMetadata("callableReferenceReceiverClass1WithoutSelection.kt")
        public void testCallableReferenceReceiverClass1WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass1WithoutSelection.kt");
        }

        @TestMetadata("callableReferenceReceiverClass2.kt")
        public void testCallableReferenceReceiverClass2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass2.kt");
        }

        @TestMetadata("callableReferenceReceiverClass2WithoutSelection.kt")
        public void testCallableReferenceReceiverClass2WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass2WithoutSelection.kt");
        }

        @TestMetadata("callableReferenceReceiverClass3.kt")
        public void testCallableReferenceReceiverClass3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass3.kt");
        }

        @TestMetadata("callableReferenceReceiverClass3WithoutSelection.kt")
        public void testCallableReferenceReceiverClass3WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/callableReferenceReceiverClass3WithoutSelection.kt");
        }

        @TestMetadata("classLiteral1.kt")
        public void testClassLiteral1() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral1.kt");
        }

        @TestMetadata("classLiteral1WithoutSelection.kt")
        public void testClassLiteral1WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral1WithoutSelection.kt");
        }

        @TestMetadata("classLiteral2.kt")
        public void testClassLiteral2() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral2.kt");
        }

        @TestMetadata("classLiteral2WithoutSelection.kt")
        public void testClassLiteral2WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral2WithoutSelection.kt");
        }

        @TestMetadata("classLiteral3.kt")
        public void testClassLiteral3() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral3.kt");
        }

        @TestMetadata("classLiteral3WithoutSelection.kt")
        public void testClassLiteral3WithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/classLiteral3WithoutSelection.kt");
        }

        @TestMetadata("companionObject.kt")
        public void testCompanionObject() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/companionObject.kt");
        }

        @TestMetadata("companionObjectWithoutSelection.kt")
        public void testCompanionObjectWithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/companionObjectWithoutSelection.kt");
        }

        @TestMetadata("nestedObject.kt")
        public void testNestedObject() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/nestedObject.kt");
        }

        @TestMetadata("nestedObjectWithoutSelection.kt")
        public void testNestedObjectWithoutSelection() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/qualifiers/nestedObjectWithoutSelection.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/script")
    public static class Script extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("ExpressionPart.kts")
        public void testExpressionPart() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/script/ExpressionPart.kts");
        }

        @TestMetadata("NotExpression.kts")
        public void testNotExpression() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/script/NotExpression.kts");
        }

        @TestMetadata("TopLevelExpression.kts")
        public void testTopLevelExpression() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/script/TopLevelExpression.kts");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates")
    public static class StringTemplates extends AbstractK2IntroduceVariableTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K2;
        }

        private void runTest(String testDataFilePath) throws Exception {
            KotlinTestUtils.runTest(this::doIntroduceVariableTest, this, testDataFilePath);
        }

        @TestMetadata("brokenEntryWithBlockExpr.kt")
        public void testBrokenEntryWithBlockExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates/brokenEntryWithBlockExpr.kt");
        }

        @TestMetadata("brokenEntryWithExpr.kt")
        public void testBrokenEntryWithExpr() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates/brokenEntryWithExpr.kt");
        }

        @TestMetadata("brokenEscapeEntry.kt")
        public void testBrokenEscapeEntry() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates/brokenEscapeEntry.kt");
        }

        @TestMetadata("duplicateOutsideTheBlock.kt")
        public void testDuplicateOutsideTheBlock() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates/duplicateOutsideTheBlock.kt");
        }

        @TestMetadata("extractFalse.kt")
        public void testExtractFalse() throws Exception {
            runTest("../../idea/tests/testData/refactoring/introduceVariable/stringTemplates/extractFalse.kt");
        }

