// 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.shortenRefs;

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("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/shortenRefs")
public abstract class K1ShortenRefsTestGenerated extends AbstractK1ShortenRefsTest {
    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/constructor")
    public static class Constructor extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("Ambiguous.kt")
        public void testAmbiguous() throws Exception {
            runTest("testData/shortenRefs/constructor/Ambiguous.kt");
        }

        @TestMetadata("GenericType.kt")
        public void testGenericType() throws Exception {
            runTest("testData/shortenRefs/constructor/GenericType.kt");
        }

        @TestMetadata("LeaveQualified.kt")
        public void testLeaveQualified() throws Exception {
            runTest("testData/shortenRefs/constructor/LeaveQualified.kt");
        }

        @TestMetadata("LeaveQualified1.kt")
        public void testLeaveQualified1() throws Exception {
            runTest("testData/shortenRefs/constructor/LeaveQualified1.kt");
        }

        @TestMetadata("LeaveQualified2.kt")
        public void testLeaveQualified2() throws Exception {
            runTest("testData/shortenRefs/constructor/LeaveQualified2.kt");
        }

        @TestMetadata("LeaveQualified3.kt")
        public void testLeaveQualified3() throws Exception {
            runTest("testData/shortenRefs/constructor/LeaveQualified3.kt");
        }

        @TestMetadata("LeaveQualified5.kt")
        public void testLeaveQualified5() throws Exception {
            runTest("testData/shortenRefs/constructor/LeaveQualified5.kt");
        }

        @TestMetadata("NestedClass.kt")
        public void testNestedClass() throws Exception {
            runTest("testData/shortenRefs/constructor/NestedClass.kt");
        }

        @TestMetadata("NestedClassWithImport.kt")
        public void testNestedClassWithImport() throws Exception {
            runTest("testData/shortenRefs/constructor/NestedClassWithImport.kt");
        }

        @TestMetadata("NoImportNeeded.kt")
        public void testNoImportNeeded() throws Exception {
            runTest("testData/shortenRefs/constructor/NoImportNeeded.kt");
        }

        @TestMetadata("NoImportNeeded2.kt")
        public void testNoImportNeeded2() throws Exception {
            runTest("testData/shortenRefs/constructor/NoImportNeeded2.kt");
        }

        @TestMetadata("NoImportNeeded3.kt")
        public void testNoImportNeeded3() throws Exception {
            runTest("testData/shortenRefs/constructor/NoImportNeeded3.kt");
        }

        @TestMetadata("SAMConstructorFromLambda.kt")
        public void testSAMConstructorFromLambda() throws Exception {
            runTest("testData/shortenRefs/constructor/SAMConstructorFromLambda.kt");
        }

        @TestMetadata("String.kt")
        public void testString() throws Exception {
            runTest("testData/shortenRefs/constructor/String.kt");
        }

        @TestMetadata("WorksForClassNameRange.kt")
        public void testWorksForClassNameRange() throws Exception {
            runTest("testData/shortenRefs/constructor/WorksForClassNameRange.kt");
        }

        @TestMetadata("WorksForClassNameRange2.kt")
        public void testWorksForClassNameRange2() throws Exception {
            runTest("testData/shortenRefs/constructor/WorksForClassNameRange2.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/imports")
    public static class Imports extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("importGlobalCallables.kt")
        public void testImportGlobalCallables() throws Exception {
            runTest("testData/shortenRefs/imports/importGlobalCallables.kt");
        }

        @TestMetadata("leaveQualifiedConstructor.kt")
        public void testLeaveQualifiedConstructor() throws Exception {
            runTest("testData/shortenRefs/imports/leaveQualifiedConstructor.kt");
        }

        @TestMetadata("leaveQualifiedType.kt")
        public void testLeaveQualifiedType() throws Exception {
            runTest("testData/shortenRefs/imports/leaveQualifiedType.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/java")
    public static class Java extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("filteredClassImport.kt")
        public void testFilteredClassImport() throws Exception {
            runTest("testData/shortenRefs/java/filteredClassImport.kt");
        }

        @TestMetadata("filteredClassNoImports.kt")
        public void testFilteredClassNoImports() throws Exception {
            runTest("testData/shortenRefs/java/filteredClassNoImports.kt");
        }

        @TestMetadata("innerClassImport.kt")
        public void testInnerClassImport() throws Exception {
            runTest("testData/shortenRefs/java/innerClassImport.kt");
        }

        @TestMetadata("innerClassNoImports.kt")
        public void testInnerClassNoImports() throws Exception {
            runTest("testData/shortenRefs/java/innerClassNoImports.kt");
        }

        @TestMetadata("innerClassOnDemandImport.kt")
        public void testInnerClassOnDemandImport() throws Exception {
            runTest("testData/shortenRefs/java/innerClassOnDemandImport.kt");
        }

        @TestMetadata("redundantGrandParentClassQualifier.kt")
        public void testRedundantGrandParentClassQualifier() throws Exception {
            runTest("testData/shortenRefs/java/redundantGrandParentClassQualifier.kt");
        }

        @TestMetadata("redundantGrandParentClassQualifierAmbiguous.kt")
        public void testRedundantGrandParentClassQualifierAmbiguous() throws Exception {
            runTest("testData/shortenRefs/java/redundantGrandParentClassQualifierAmbiguous.kt");
        }

        @TestMetadata("staticClassNoImports.kt")
        public void testStaticClassNoImports() throws Exception {
            runTest("testData/shortenRefs/java/staticClassNoImports.kt");
        }

        @TestMetadata("staticClassOnDemandImport.kt")
        public void testStaticClassOnDemandImport() throws Exception {
            runTest("testData/shortenRefs/java/staticClassOnDemandImport.kt");
        }

        @TestMetadata("staticFieldNoImports.kt")
        public void testStaticFieldNoImports() throws Exception {
            runTest("testData/shortenRefs/java/staticFieldNoImports.kt");
        }

        @TestMetadata("staticFieldOnDemandImport.kt")
        public void testStaticFieldOnDemandImport() throws Exception {
            runTest("testData/shortenRefs/java/staticFieldOnDemandImport.kt");
        }

        @TestMetadata("staticMethodNoImports.kt")
        public void testStaticMethodNoImports() throws Exception {
            runTest("testData/shortenRefs/java/staticMethodNoImports.kt");
        }

        @TestMetadata("staticMethodOnDemandImport.kt")
        public void testStaticMethodOnDemandImport() throws Exception {
            runTest("testData/shortenRefs/java/staticMethodOnDemandImport.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/kt21515")
    public static class Kt21515 extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("callableReferenceOnClass.kt")
        public void testCallableReferenceOnClass() throws Exception {
            runTest("testData/shortenRefs/kt21515/callableReferenceOnClass.kt");
        }

        @TestMetadata("callableReferenceOnClassWithCompanion.kt")
        public void testCallableReferenceOnClassWithCompanion() throws Exception {
            runTest("testData/shortenRefs/kt21515/callableReferenceOnClassWithCompanion.kt");
        }

        @TestMetadata("callableReferenceOnObject.kt")
        public void testCallableReferenceOnObject() throws Exception {
            runTest("testData/shortenRefs/kt21515/callableReferenceOnObject.kt");
        }

        @TestMetadata("constructor.kt")
        public void testConstructor() throws Exception {
            runTest("testData/shortenRefs/kt21515/constructor.kt");
        }

        @TestMetadata("staticFromJava.kt")
        public void testStaticFromJava() throws Exception {
            runTest("testData/shortenRefs/kt21515/staticFromJava.kt");
        }

        @TestMetadata("typeReference.kt")
        public void testTypeReference() throws Exception {
            runTest("testData/shortenRefs/kt21515/typeReference.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/this")
    public static class This extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("cantShortenThis.kt")
        public void testCantShortenThis() throws Exception {
            runTest("testData/shortenRefs/this/cantShortenThis.kt");
        }

        @TestMetadata("cantShortenThisLabel.kt")
        public void testCantShortenThisLabel() throws Exception {
            runTest("testData/shortenRefs/this/cantShortenThisLabel.kt");
        }

        @TestMetadata("shortenExtensionThis.kt")
        public void testShortenExtensionThis() throws Exception {
            runTest("testData/shortenRefs/this/shortenExtensionThis.kt");
        }

        @TestMetadata("shortenThis.kt")
        public void testShortenThis() throws Exception {
            runTest("testData/shortenRefs/this/shortenThis.kt");
        }

        @TestMetadata("shortenThisBothReceivers.kt")
        public void testShortenThisBothReceivers() throws Exception {
            runTest("testData/shortenRefs/this/shortenThisBothReceivers.kt");
        }

        @TestMetadata("shortenThisLabel.kt")
        public void testShortenThisLabel() throws Exception {
            runTest("testData/shortenRefs/this/shortenThisLabel.kt");
        }

        @TestMetadata("shortenThisWithLabel.kt")
        public void testShortenThisWithLabel() throws Exception {
            runTest("testData/shortenRefs/this/shortenThisWithLabel.kt");
        }

        @TestMetadata("visitorConflict.kt")
        public void testVisitorConflict() throws Exception {
            runTest("testData/shortenRefs/this/visitorConflict.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/type")
    public static class Type extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("ClassNameInsideArguments.kt")
        public void testClassNameInsideArguments() throws Exception {
            runTest("testData/shortenRefs/type/ClassNameInsideArguments.kt");
        }

        @TestMetadata("ClassNameInsideLambda.kt")
        public void testClassNameInsideLambda() throws Exception {
            runTest("testData/shortenRefs/type/ClassNameInsideLambda.kt");
        }

        @TestMetadata("ClassSameNameAsPackage.kt")
        public void testClassSameNameAsPackage() throws Exception {
            runTest("testData/shortenRefs/type/ClassSameNameAsPackage.kt");
        }

        @TestMetadata("ClassSameNameAsPackageWithSpace.kt")
        public void testClassSameNameAsPackageWithSpace() throws Exception {
            runTest("testData/shortenRefs/type/ClassSameNameAsPackageWithSpace.kt");
        }

        @TestMetadata("delegationSpecifier.kt")
        public void testDelegationSpecifier() throws Exception {
            runTest("testData/shortenRefs/type/delegationSpecifier.kt");
        }

        @TestMetadata("FunctionType.kt")
        public void testFunctionType() throws Exception {
            runTest("testData/shortenRefs/type/FunctionType.kt");
        }

        @TestMetadata("GenericType.kt")
        public void testGenericType() throws Exception {
            runTest("testData/shortenRefs/type/GenericType.kt");
        }

        @TestMetadata("GenericType2.kt")
        public void testGenericType2() throws Exception {
            runTest("testData/shortenRefs/type/GenericType2.kt");
        }

        @TestMetadata("GenericType3.kt")
        public void testGenericType3() throws Exception {
            runTest("testData/shortenRefs/type/GenericType3.kt");
        }

        @TestMetadata("LeaveQualified.kt")
        public void testLeaveQualified() throws Exception {
            runTest("testData/shortenRefs/type/LeaveQualified.kt");
        }

        @TestMetadata("NestedClass.kt")
        public void testNestedClass() throws Exception {
            runTest("testData/shortenRefs/type/NestedClass.kt");
        }

        @TestMetadata("NestedClassRefInImport.kt")
        public void testNestedClassRefInImport() throws Exception {
            runTest("testData/shortenRefs/type/NestedClassRefInImport.kt");
        }

        @TestMetadata("NoImportNeeded.kt")
        public void testNoImportNeeded() throws Exception {
            runTest("testData/shortenRefs/type/NoImportNeeded.kt");
        }

        @TestMetadata("NoImportNeeded2.kt")
        public void testNoImportNeeded2() throws Exception {
            runTest("testData/shortenRefs/type/NoImportNeeded2.kt");
        }

        @TestMetadata("NullableType.kt")
        public void testNullableType() throws Exception {
            runTest("testData/shortenRefs/type/NullableType.kt");
        }

        @TestMetadata("OtherClassWithThisNameImported.kt")
        public void testOtherClassWithThisNameImported() throws Exception {
            runTest("testData/shortenRefs/type/OtherClassWithThisNameImported.kt");
        }

        @TestMetadata("SameClassTwice.kt")
        public void testSameClassTwice() throws Exception {
            runTest("testData/shortenRefs/type/SameClassTwice.kt");
        }

        @TestMetadata("SimpleAddImport.kt")
        public void testSimpleAddImport() throws Exception {
            runTest("testData/shortenRefs/type/SimpleAddImport.kt");
        }

        @TestMetadata("TwoClassesSameNames.kt")
        public void testTwoClassesSameNames() throws Exception {
            runTest("testData/shortenRefs/type/TwoClassesSameNames.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs/typealias")
    public static class Typealias extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("TypeAliasAsCtor.kt")
        public void testTypeAliasAsCtor() throws Exception {
            runTest("testData/shortenRefs/typealias/TypeAliasAsCtor.kt");
        }

        @TestMetadata("TypeAliasAsObject.kt")
        public void testTypeAliasAsObject() throws Exception {
            runTest("testData/shortenRefs/typealias/TypeAliasAsObject.kt");
        }

        @TestMetadata("TypeAliasAsType.kt")
        public void testTypeAliasAsType() throws Exception {
            runTest("testData/shortenRefs/typealias/TypeAliasAsType.kt");
        }

        @TestMetadata("TypeAliasAsTypeArgument.kt")
        public void testTypeAliasAsTypeArgument() throws Exception {
            runTest("testData/shortenRefs/typealias/TypeAliasAsTypeArgument.kt");
        }
    }

    @RunWith(JUnit3RunnerWithInners.class)
    @TestMetadata("testData/shortenRefs")
    public static class Uncategorized extends AbstractK1ShortenRefsTest {
        @java.lang.Override
        @org.jetbrains.annotations.NotNull
        public final KotlinPluginMode getPluginMode() {
            return KotlinPluginMode.K1;
        }

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

        @TestMetadata("annotation.kt")
        public void testAnnotation() throws Exception {
            runTest("testData/shortenRefs/annotation.kt");
        }

        @TestMetadata("callableRefsOnCompanion.kt")
        public void testCallableRefsOnCompanion() throws Exception {
            runTest("testData/shortenRefs/callableRefsOnCompanion.kt");
        }

        @TestMetadata("classInCompanionObject.kt")
        public void testClassInCompanionObject() throws Exception {
            runTest("testData/shortenRefs/classInCompanionObject.kt");
        }

        @TestMetadata("classLiteralOnCompanion.kt")
        public void testClassLiteralOnCompanion() throws Exception {
            runTest("testData/shortenRefs/classLiteralOnCompanion.kt");
        }

        @TestMetadata("ClassNameConflict.kt")
        public void testClassNameConflict() throws Exception {
            runTest("testData/shortenRefs/ClassNameConflict.kt");
        }

        @TestMetadata("ClassNameConflictNoPackageImport.kt")
        public void testClassNameConflictNoPackageImport() throws Exception {
            runTest("testData/shortenRefs/ClassNameConflictNoPackageImport.kt");
        }

        @TestMetadata("classObject.kt")
        public void testClassObject() throws Exception {
            runTest("testData/shortenRefs/classObject.kt");
        }

        @TestMetadata("descriptorsChangeAfterImportInsertion.kt")
        public void testDescriptorsChangeAfterImportInsertion() throws Exception {
            runTest("testData/shortenRefs/descriptorsChangeAfterImportInsertion.kt");
        }

        @TestMetadata("extensionForCompanionObject.kt")
        public void testExtensionForCompanionObject() throws Exception {
            runTest("testData/shortenRefs/extensionForCompanionObject.kt");
        }

        @TestMetadata("extensionForObject.kt")
        public void testExtensionForObject() throws Exception {
            runTest("testData/shortenRefs/extensionForObject.kt");
        }

        @TestMetadata("extensionForObject2.kt")
        public void testExtensionForObject2() throws Exception {
            runTest("testData/shortenRefs/extensionForObject2.kt");
        }

        @TestMetadata("extensionFunctionVarInvokedWithQualifier.kt")
        public void testExtensionFunctionVarInvokedWithQualifier() throws Exception {
            runTest("testData/shortenRefs/extensionFunctionVarInvokedWithQualifier.kt");
        }

        @TestMetadata("hiddenByMoreSpecificDeclaration.kt")
        public void testHiddenByMoreSpecificDeclaration() throws Exception {
            runTest("testData/shortenRefs/hiddenByMoreSpecificDeclaration.kt");
        }

        @TestMetadata("InterfaceInExpression.kt")
        public void testInterfaceInExpression() throws Exception {
            runTest("testData/shortenRefs/InterfaceInExpression.kt");
        }

        @TestMetadata("JavaStaticMethod.kt")
        public void testJavaStaticMethod() throws Exception {
            runTest("testData/shortenRefs/JavaStaticMethod.kt");
        }

        @TestMetadata("KotlinRepeat.kt")
        public void testKotlinRepeat() throws Exception {
            runTest("testData/shortenRefs/KotlinRepeat.kt");
        }

        @TestMetadata("kt11633.kt")
        public void testKt11633() throws Exception {
            runTest("testData/shortenRefs/kt11633.kt");
        }

        @TestMetadata("kt14370.kt")
        public void testKt14370() throws Exception {
            runTest("testData/shortenRefs/kt14370.kt");
        }

        @TestMetadata("noShortening.kt")
        public void testNoShortening() throws Exception {
            runTest("testData/shortenRefs/noShortening.kt");
        }

        @TestMetadata("PackagesToUseStarImports.kt")
        public void testPackagesToUseStarImports() throws Exception {
            runTest("testData/shortenRefs/PackagesToUseStarImports.kt");
        }

        @TestMetadata("PropertyFunctionConflict.kt")
        public void testPropertyFunctionConflict() throws Exception {
            runTest("testData/shortenRefs/PropertyFunctionConflict.kt");
        }

        @TestMetadata("removeCompanionRefInCalleeExpression.kt")
        public void testRemoveCompanionRefInCalleeExpression() throws Exception {
            runTest("testData/shortenRefs/removeCompanionRefInCalleeExpression.kt");
        }

        @TestMetadata("removeCompanionRefWithQualifiedReceiverInCalleeExpression.kt")
        public void testRemoveCompanionRefWithQualifiedReceiverInCalleeExpression() throws Exception {
            runTest("testData/shortenRefs/removeCompanionRefWithQualifiedReceiverInCalleeExpression.kt");
        }

        @TestMetadata("shortCompanionRefInsideShortenedCall.kt")
        public void testShortCompanionRefInsideShortenedCall() throws Exception {
            runTest("testData/shortenRefs/shortCompanionRefInsideShortenedCall.kt");
        }

        @TestMetadata("TopLevelFunctionImportWithLotsOfFqName.kt")
        public void testTopLevelFunctionImportWithLotsOfFqName() throws Exception {
            runTest("testData/shortenRefs/TopLevelFunctionImportWithLotsOfFqName.kt");
        }

        @TestMetadata("UnresolvedOverload.kt")
        public void testUnresolvedOverload() throws Exception {
            runTest("testData/shortenRefs/UnresolvedOverload.kt");
        }
    }
}
