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

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;
import org.jetbrains.kotlin.idea.navigation.AbstractKotlinGotoImplementationTest;

/**
 * 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/navigation/implementations")
public class KotlinGotoImplementationTestGenerated extends AbstractKotlinGotoImplementationTest {
    @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("AbstractClassImplementorsWithDeclaration.kt")
    public void testAbstractClassImplementorsWithDeclaration() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/AbstractClassImplementorsWithDeclaration.kt");
    }

    @TestMetadata("ClassImplementorsWithDeclaration.kt")
    public void testClassImplementorsWithDeclaration() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ClassImplementorsWithDeclaration.kt");
    }

    @TestMetadata("ClassNavigation.kt")
    public void testClassNavigation() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ClassNavigation.kt");
    }

    @TestMetadata("ConstructorPropertyOverriddenNavigation.kt")
    public void testConstructorPropertyOverriddenNavigation() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ConstructorPropertyOverriddenNavigation.kt");
    }

    @TestMetadata("DefaultImplFunction.kt")
    public void testDefaultImplFunction() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/DefaultImplFunction.kt");
    }

    @TestMetadata("DefaultImplProperty.kt")
    public void testDefaultImplProperty() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/DefaultImplProperty.kt");
    }

    @TestMetadata("DelegatedAndDefaultImplFunction.kt")
    public void testDelegatedAndDefaultImplFunction() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/DelegatedAndDefaultImplFunction.kt");
    }

    @TestMetadata("DelegatedFunction.kt")
    public void testDelegatedFunction() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/DelegatedFunction.kt");
    }

    @TestMetadata("DelegatedProperty.kt")
    public void testDelegatedProperty() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/DelegatedProperty.kt");
    }

    @TestMetadata("EnumEntriesInheritance.kt")
    public void testEnumEntriesInheritance() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/EnumEntriesInheritance.kt");
    }

    @TestMetadata("FakeOverride.kt")
    public void testFakeOverride() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/FakeOverride.kt");
    }

    @TestMetadata("FunctionOverrideNavigation.kt")
    public void testFunctionOverrideNavigation() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/FunctionOverrideNavigation.kt");
    }

    @TestMetadata("GenericDelegatedAndDefaultImplFunction.kt")
    public void testGenericDelegatedAndDefaultImplFunction() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/GenericDelegatedAndDefaultImplFunction.kt");
    }

    @TestMetadata("GenericFakeOverride.kt")
    public void testGenericFakeOverride() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/GenericFakeOverride.kt");
    }

    @TestMetadata("ImplementGenericWithPrimitives.kt")
    public void testImplementGenericWithPrimitives() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ImplementGenericWithPrimitives.kt");
    }

    @TestMetadata("ImplementsInInlineClass.kt")
    public void testImplementsInInlineClass() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ImplementsInInlineClass.kt");
    }

    @TestMetadata("ImplementsInInlineClassOnRef.kt")
    public void testImplementsInInlineClassOnRef() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ImplementsInInlineClassOnRef.kt");
    }

    @TestMetadata("InterfaceImplementorsWithDeclaration.kt")
    public void testInterfaceImplementorsWithDeclaration() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/InterfaceImplementorsWithDeclaration.kt");
    }

    @TestMetadata("ObjectImported.kt")
    public void testObjectImported() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/ObjectImported.kt");
    }

    @TestMetadata("OverridesInAnonymous.kt")
    public void testOverridesInAnonymous() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/OverridesInAnonymous.kt");
    }

    @TestMetadata("OverridesInEnumEntries.kt")
    public void testOverridesInEnumEntries() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/OverridesInEnumEntries.kt");
    }

    @TestMetadata("OverridesInInlineClass.kt")
    public void testOverridesInInlineClass() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/OverridesInInlineClass.kt");
    }

    @TestMetadata("PropertyOverriddenNavigation.kt")
    public void testPropertyOverriddenNavigation() throws Exception {
        runTest("../../idea/tests/testData/navigation/implementations/PropertyOverriddenNavigation.kt");
    }
}
