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

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("code-insight/kotlin.code-insight.k2")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("../../idea/tests/testData/codeInsight/hints/types")
public class KtReferenceTypeHintsProviderTestGenerated extends AbstractKtReferenceTypeHintsProviderTest {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K2;
    }

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

    @TestMetadata("AnonymousAnyCollectionElement.kt")
    public void testAnonymousAnyCollectionElement() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/AnonymousAnyCollectionElement.kt");
    }

    @TestMetadata("AnonymousCollectionElement.kt")
    public void testAnonymousCollectionElement() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/AnonymousCollectionElement.kt");
    }

    @TestMetadata("AnonymousObject.kt")
    public void testAnonymousObject() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/AnonymousObject.kt");
    }

    @TestMetadata("AnonymousObjectNoBaseType.kt")
    public void testAnonymousObjectNoBaseType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/AnonymousObjectNoBaseType.kt");
    }

    @TestMetadata("ConstInitializerType.kt")
    public void testConstInitializerType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ConstInitializerType.kt");
    }

    @TestMetadata("ConstructorWithExplicitTypeParametersType.kt")
    public void testConstructorWithExplicitTypeParametersType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ConstructorWithExplicitTypeParametersType.kt");
    }

    @TestMetadata("ConstructorWithoutExplicitTypeParametersType.kt")
    public void testConstructorWithoutExplicitTypeParametersType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ConstructorWithoutExplicitTypeParametersType.kt");
    }

    @TestMetadata("ConstructorWithoutTypeParametersType.kt")
    public void testConstructorWithoutTypeParametersType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ConstructorWithoutTypeParametersType.kt");
    }

    @TestMetadata("ContextParameters.kt")
    public void testContextParameters() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ContextParameters.kt");
    }

    @TestMetadata("DefinitelyNonNullTypes.kt")
    public void testDefinitelyNonNullTypes() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/DefinitelyNonNullTypes.kt");
    }

    @TestMetadata("DestructingType.kt")
    public void testDestructingType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/DestructingType.kt");
    }

    @TestMetadata("DestructingType2.kt")
    public void testDestructingType2() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/DestructingType2.kt");
    }

    @TestMetadata("Destructuring.kt")
    public void testDestructuring() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/Destructuring.kt");
    }

    @TestMetadata("EmptyFunctionalType.kt")
    public void testEmptyFunctionalType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EmptyFunctionalType.kt");
    }

    @TestMetadata("EnumEntry.kt")
    public void testEnumEntry() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EnumEntry.kt");
    }

    @TestMetadata("EnumEntryCompanion.kt")
    public void testEnumEntryCompanion() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EnumEntryCompanion.kt");
    }

    @TestMetadata("EnumEntryLikeFunction.kt")
    public void testEnumEntryLikeFunction() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EnumEntryLikeFunction.kt");
    }

    @TestMetadata("EnumEntryLikeProperty.kt")
    public void testEnumEntryLikeProperty() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EnumEntryLikeProperty.kt");
    }

    @TestMetadata("EnumEntryQualified.kt")
    public void testEnumEntryQualified() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/EnumEntryQualified.kt");
    }

    @TestMetadata("ErrorType.kt")
    public void testErrorType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ErrorType.kt");
    }

    @TestMetadata("ExpandedTypeAlias.kt")
    public void testExpandedTypeAlias() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ExpandedTypeAlias.kt");
    }

    @TestMetadata("FlexibleType.kt")
    public void testFlexibleType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/FlexibleType.kt");
    }

    @TestMetadata("FlexibleTypeWithRanges.kt")
    public void testFlexibleTypeWithRanges() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/FlexibleTypeWithRanges.kt");
    }

    @TestMetadata("FlexibleTypeWithRangesArrayElement.kt")
    public void testFlexibleTypeWithRangesArrayElement() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/FlexibleTypeWithRangesArrayElement.kt");
    }

    @TestMetadata("FunctionalType.kt")
    public void testFunctionalType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/FunctionalType.kt");
    }

    @TestMetadata("ImportedEnumEntry.kt")
    public void testImportedEnumEntry() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ImportedEnumEntry.kt");
    }

    @TestMetadata("JavaFQName.kt")
    public void testJavaFQName() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/JavaFQName.kt");
    }

    @TestMetadata("JavaNonNullableArray.kt")
    public void testJavaNonNullableArray() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/JavaNonNullableArray.kt");
    }

    @TestMetadata("JavaTypeWithWarningLevelNullability.kt")
    public void testJavaTypeWithWarningLevelNullability() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/JavaTypeWithWarningLevelNullability.kt");
    }

    @TestMetadata("LambdaReturnType.kt")
    public void testLambdaReturnType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LambdaReturnType.kt");
    }

    @TestMetadata("LocalClass.kt")
    public void testLocalClass() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LocalClass.kt");
    }

    @TestMetadata("LocalVariable.kt")
    public void testLocalVariable() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LocalVariable.kt");
    }

    @TestMetadata("LongLongClassNames.kt")
    public void testLongLongClassNames() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LongLongClassNames.kt");
    }

    @TestMetadata("LoopParameter.kt")
    public void testLoopParameter() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LoopParameter.kt");
    }

    @TestMetadata("LoopParameterWithExplicitType.kt")
    public void testLoopParameterWithExplicitType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/LoopParameterWithExplicitType.kt");
    }

    @TestMetadata("NestedClassImports.kt")
    public void testNestedClassImports() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/NestedClassImports.kt");
    }

    @TestMetadata("NestedClassWithoutImport.kt")
    public void testNestedClassWithoutImport() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/NestedClassWithoutImport.kt");
    }

    @TestMetadata("ParameterNamesInFunctionTypes.kt")
    public void testParameterNamesInFunctionTypes() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ParameterNamesInFunctionTypes.kt");
    }

    @TestMetadata("ParameterType.kt")
    public void testParameterType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/ParameterType.kt");
    }

    @TestMetadata("PrivateAnonymousObject.kt")
    public void testPrivateAnonymousObject() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/PrivateAnonymousObject.kt");
    }

    @TestMetadata("PropertyType.kt")
    public void testPropertyType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/PropertyType.kt");
    }

    @TestMetadata("QualifiedReferences.kt")
    public void testQualifiedReferences() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/QualifiedReferences.kt");
    }

    @TestMetadata("SAMConstructor.kt")
    public void testSAMConstructor() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/SAMConstructor.kt");
    }

    @TestMetadata("SmartCast.kt")
    public void testSmartCast() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/SmartCast.kt");
    }

    @TestMetadata("SuspendFunctionalType.kt")
    public void testSuspendFunctionalType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/SuspendFunctionalType.kt");
    }

    @TestMetadata("TruncatedTypes.kt")
    public void testTruncatedTypes() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/TruncatedTypes.kt");
    }

    @TestMetadata("TypeInCompanion.kt")
    public void testTypeInCompanion() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/TypeInCompanion.kt");
    }

    @TestMetadata("TypeInNonDefaultCompanion.kt")
    public void testTypeInNonDefaultCompanion() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/TypeInNonDefaultCompanion.kt");
    }

    @TestMetadata("UnaryConstInitializerType.kt")
    public void testUnaryConstInitializerType() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/UnaryConstInitializerType.kt");
    }

    @TestMetadata("UnitLocalVariable.kt")
    public void testUnitLocalVariable() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/UnitLocalVariable.kt");
    }

    @TestMetadata("UnitLocalVariable2.kt")
    public void testUnitLocalVariable2() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/UnitLocalVariable2.kt");
    }

    @TestMetadata("UnitLocalVariable3.kt")
    public void testUnitLocalVariable3() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/UnitLocalVariable3.kt");
    }

    @TestMetadata("When.kt")
    public void testWhen() throws Exception {
        runTest("../../idea/tests/testData/codeInsight/hints/types/When.kt");
    }
}
